Comment puis-je utiliser des espaces dans la ligne de commande Windows?
cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
Les guillemets simples ne feront pas l'affaire dans ce cas. Vous devez ajouter des guillemets autour de chaque chemin et également mettre toute la commande entre guillemets:
cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""
cmd /C
CEEMEA & LATAM.doc
. Que devrais-je faire?"C:\Program Files\WinRAR\rar" a -agmmddyy -x*CEEMEA & LATAM.doc ".rar"
Je viens de comprendre que pour un cas où le chemin implique l'utilisation de caractères d'espace blanc, par exemple, lorsque j'ai besoin d'accéder à l'application,
xyz
quel emplacement est:Pour l'exécuter à partir de l'invite Windows cmd, vous devez utiliser
ou
la source
Si les guillemets ne résolvent pas le problème, essayez par exemple
pour obtenir une liste d'autres noms de fichiers ou de répertoires. Exemple de sortie:
Utilisez maintenant 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:
la source
Entourez les chemins contenant des espaces entre guillemets.
la source
Rar.exe
. Vous ne l'utilisez peut-être pas correctement. Peut-être essayer"D:\Hello 2\"
ou"D:\Hello 2"
au lieu de"D:\Hello 2\*.*"
?CEEMEA & LATAM.doc
. Que devrait-il être?"C:\Program Files\WinRAR\rar" a -x*CEEMEA & LATAM.doc ".rar"
Essayez de fournir des chemins d'accès complexes entre guillemets (et incluez les extensions de fichier à la fin pour les fichiers.)
Pour les fichiers:
Pour l'annuaire:
CMD interprète le texte entre guillemets doubles ("xyz") comme une chaîne et le texte entre guillemets simples ("xyz") comme une commande. Par exemple:
Et une bonne chose, cmd n'est pas * sensible à la casse comme bash. Ainsi, "New fiLE.txt" et "new file.TXT" lui ressemblent.
* Remarque: les variables %% A dans la casse ci-dessus sont sensibles à la casse (%% A n'est pas égal à %% a).
la source
Je préfère inclure la commande dans
()
laquelle est validebatch
ce qui le rend un peu plus facile à lire:la source
cela a fonctionné pour moi dans un fichier batch
la source
Ajoutez simplement un guillemet
Exemple: "C: \ Users \ User Name"
J'espère qu'il a été résolu!
la source
Vous devriez essayer d'utiliser des guillemets.
la source
Espaces dans l'invite de recommandation (dans une ligne de code de commande VBA Shell)
J'ai eu un problème très similaire qui a fini par être un espace dans l'invite de commande lors de l'automatisation via VBA pour obtenir le contenu de la fenêtre de commande dans un fichier texte. Ce fil était l'un des nombreux que j'ai attrapés en cours de route et qui ne m'ont pas tout à fait apporté la solution.
Cela peut donc aider les autres à résoudre un problème similaire: comme la syntaxe avec des guillemets est toujours difficile à comprendre, je pense que montrer des exemples spécifiques est toujours utile. Le problème supplémentaire que vous rencontrez en utilisant l'invite de commande dans VBA via le shell, est que la ligne de code n'erreur souvent pas lorsque quelque chose ne va pas: en fait, un clin d'œil de la fenêtre de recommandation noire induit en erreur en pensant que quelque chose a été fait.
Par exemple ... disons que j'ai un dossier, avec un fichier texte comme à
C: \ Dossier Alans \ test1.txt ( https://imgur.com/FELSdB6 )
L'espace dans le nom du dossier donne le problème.
Quelque chose comme ça fonctionnerait, en supposant que le dossier, AlansFolder, existe
Cela ne fonctionnera pas. (Ce ne sera pas une erreur).
Inclure des paires de citations autour du chemin le fera fonctionner
(À propos, si le fichier texte n'existe pas, il sera créé).
Avec le recul, nous pouvons voir que ma solution se lie approximativement à certaines déjà données.
Conversion de cette ligne de code en une commande manuelle donnée que nous aurions
Cela semble fonctionner
Cela fonctionne aussi
Ce n'est pas
Cette forme finale fonctionne également et se lie avec la solution de sacra…. Vous devez ajouter des guillemets autour de chaque chemin et également mettre toute la commande entre guillemets “… ..
la source
Il peut résoudre ce problème par cd commande , cette commande comprend les espaces sans guillemets et vous pouvez appeler n'importe quel programme de cette façon par exemple:
C: \ Windows \ system32> cd c: \ Program Files \ MongoDB \ Server \ 3.2 \ bin
c: \ Program Files \ MongoDB \ Server \ 3.2 \ bin> mongo now appel de l'invite de commande mongo.exe
la source