web-dev-qa-db-fra.com

Comment appeler un programme contenant un espace dans le nom du fichier?

J'ai essayé d'exécuter une ligne de commande comme ceci: start /max C:\Program files\foo\ba.exe -somearguments.

Mais j'ai un problème, la cmd renvoie un message d'erreur quelque chose comme The system cannot found the C:\Program file et si je mets le C:\Program files\foo\ba.exe entre guillemets, il exécute simplement une nouvelle fenêtre cmd en mode MAX et n'exécute pas le programme.

Comment régler ceci?

8
Jack

Tous les noms de fichiers et chemins contenant des espaces doivent être cités.

Ensuite, en ce qui concerne votre question, pourquoi ne pas indiquer le chemin comme:

start /max /d"C:\Program files\foo\" ba.exe -somearguments
11
Silviu

L'erreur s'est produite car le système a interprété votre commande comme étant le fichier C:\Program et file comme un argument de votre commande. Évidemment, il ne trouve pas le fichier Program et renvoie cette erreur.

Pour résoudre ce problème, il suffit d'inclure "" sur le chemin entre les mots avec le caractère d'espacement ou sur le chemin complet:

start /max C:\"Program files"\foo\ba.exe -somearguments

ou

start /max "C:\Program files\foo\ba.exe" -somearguments
15
Diogo

Bien que le chemin entre guillemets soit le plus facile et le plus clair à lire, vous pouvez également utiliser les anciens noms abrégés DOS (puisque DOS suivait la dénomination 8.3, les noms de fichiers de plus de 8 caractères étaient tronqués avec ~1). Ces noms n'ont pas d'espaces. Vous pouvez voir les noms abrégés des fichiers avec la commande DIR /X.

2
sachleen

Dans Win10, vous pouvez essayer ceci:

start /max C:\Program%20files\foo\ba.exe -somearguments
0
Ivan M