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?
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
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
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
.
Dans Win10, vous pouvez essayer ceci:
start /max C:\Program%20files\foo\ba.exe -somearguments