2012-06-05 16:19:06 +0000 2012-06-05 16:19:06 +0000
17
17

Comment appeler un programme qui contient de l'espace dans le nom de fichier ?

J'essaie de faire fonctionner une ligne de commande quelque chose comme ça : start /max C:\Program files\foo\ba.exe -somearguments.

Mais j'ai un problème, le 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 lance simplement un cmd nouvelle fenêtre en mode MAX et ne lance pas le programme.

Comment résoudre ce problème ?

Réponses (4)

15
15
15
2012-06-05 16:26:45 +0000

Tous les noms de fichiers et les chemins d'accès qui contiennent 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
15
15
15
2012-06-05 16:24:44 +0000

L'erreur s'est produite parce que le système a interprété votre commande comme le fichier C:\Program et file comme un argument de votre commande. De toute évidence, il ne trouve pas le fichier Program et renvoie cette erreur.

Pour la corriger, il suffit d'inclure "" sur le chemin entre les mots avec le caractère espace ou sur le chemin entier :

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

ou

start /max "C:\Program files\foo\ba.exe" -somearguments
4
4
4
2012-06-05 16:31:11 +0000

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

1
1
1
2018-05-04 12:48:54 +0000

Dans Win10, vous pouvez essayer ceci :

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