Comment utiliser les espaces dans L'invite de commande?

Comment puis-je utiliser des espaces dans la ligne de commande Windows?

cmd /C C:Program Files (x86)WinRarRar.exe a D:Hello 2File.rar D:Hello 2*.*
131
demandé sur Steven Vascellaro 2011-06-16 21:33:06

9 réponses

Les guillemets simples ne feront pas l'affaire dans ce cas. Vous devez ajouter des guillemets autour de chaque chemin et entourer la commande entière de guillemets:

cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""
188
répondu sakra 2011-06-17 11:06:05

Je viens de comprendre que pour un cas où le chemin implique l'utilisation de caractères d'espace blanc, par exemple, quand j'ai besoin d'accéder à l'application xyz quel emplacement est:

C:\Program Files\ab cd\xyz.exe

Pour l'exécuter à partir de l'invite Windows cmd, vous devez utiliser

C:\"Program Files"\"ab cd"\xyz.exe

Ou

"C:\Program Files\ab cd\xyz.exe"
53
répondu Mithil D 2018-06-12 15:16:21

Si les guillemets doubles ne résolvent pas le problème, essayez par exemple

dir /X ~1 c:\

Pour obtenir une liste de noms de fichiers ou de répertoires alternatifs. Exemple de sortie:

11/09/2014 12:54 AM             8,065  DEFAUL~1.XML Default Desktop Policy.xml
06/12/2014  03:49 PM    <DIR>          PROGRA~1     Program Files 
10/12/2014  12:46 AM    <DIR>          PROGRA~2     Program Files (x86)

Maintenant, utilisez le nom de fichier ou de dossier court de 8 caractères dans la 5ème colonne, par exemple PROGRA~1 ou DEFAUL~1.XML, dans vos commandes. Par exemple:

set JAVA_HOME=c:\PROGRA~1\Java\jdk1.6.0_45 
15
répondu RobE 2018-07-27 15:50:35

Entourez les chemins contenant des espaces avec des guillemets doubles.

cmd /C "C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*"
8
répondu JAB 2011-06-16 17:34:48

Essayez de fournir des noms de chemin complexes entre guillemets doubles (et incluez des extensions de fichier à la fin pour les fichiers.)

Pour les fichiers:

call "C:\example file.exe"

Pour Le Répertoire:

cd "C:\Users\User Name\New Folder"

Il est également applicable à tous les problèmes d'adresse similaires. Et une bonne chose, cmd n'est pas sensible à la casse comme bash. Donc " nouveau fichier.txt" et "nouveau fichier.TXT " est semblable à lui.

8
répondu Vaisak Mohan 2017-02-01 18:23:39

Je préfère joindre la commande (), qui est valide batch ce qui le rend un peu plus facile à lire:

cmd /C ("C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*")
7
répondu Dan 2016-02-27 01:10:20

Vous devriez essayer d'utiliser des guillemets.

cmd /C "C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*"
1
répondu Jaanus 2011-06-16 17:36:26
set "CMD=C:\Program Files (x86)\PDFtk\bin\pdftk"
echo cmd /K ""%CMD%" %D% output trimmed.pdf"
start cmd /K ""%CMD%" %D% output trimmed.pdf"

Cela a fonctionné pour moi dans un fichier batch

1
répondu James Brown 2015-09-29 17:55:57

Il peut résoudre ce problème par la commande cd , cette commande comprend les espaces sans guillemets doubles et vous pouvez appeler n'importe quel programme de cette façon par exemple:

C:\Windows\system32 > cd c:\Program fichiers \ MongoDB \ serveur \ 3.2 \ bin

C:\Program fichiers \ MongoDB \ serveur \ 3.2 \ bin > mongo maintenant, l'invite de commande appelle mongo.exe

-3
répondu Karen 2016-03-17 13:24:23