Je suis nouveau dans l'écriture de scripts et je n'arrive pas à faire fonctionner celui-ci. Je pourrais si je déplaçais les fichiers vers un chemin sans espace, mais j'aimerais que cela fonctionne avec l'espace si cela pouvait.
Je souhaite extraire un tas de mises à jour Office dans un dossier contenant un fichier .cmd. Pour rendre le fichier de commandes utilisable sur n'importe quel ordinateur, j'ai défini une variable de chemin que je n'ai qu'à changer à un endroit pour l'exécuter sur une autre machine. Le problème est que le chemin contient un espace. Si je mets des guillemets autour du chemin dans la définition, cmd.exe les place autour du chemin avant d'ajouter le nom de fichier et les commutateurs et le lot échoue avec «Erreur de syntaxe de la ligne de commande». Sans guillemets, il échoue avec "n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes".
Pour les tests, j'utilise le commutateur d'aide jusqu'à ce que ou si je peux le faire fonctionner. Je peux le faire en utilisant un nom de fichier / dossier 8.3 (par exemple Mes documents comme MyDocu ~ 1), mais est-ce possible de le faire d'une manière différente?
Réponses:
Essayez quelque chose comme ceci:
la source
j'utilise
lors de la mise à jour du chemin:
la source
Il y a deux options ici. Tout d'abord, vous pouvez stocker le chemin sans guillemets et le citer plus tard:
Une autre option que vous pouvez utiliser est un sous-programme qui permet de supprimer les chaînes de caractères (mais dans ce cas, ce n'est en fait pas une très bonne idée puisque vous ajoutez des citations, les supprimez et les rajoutez à nouveau sans avantage):
Le
%~1
supprime les guillemets autour de l'argument. Cela est pratique lorsque vous passez des noms de dossiers entre guillemets mais, comme dit précédemment, dans ce cas particulier, ce n'est pas la meilleure idée :-)la source
set LALA=%~1
était ce qui fonctionnait pour moi.Essaye ça;
créer une variable comme ci-dessous
Remplacez ensuite le chemin par variable. Assurez-vous d'ajouter des guillemets pour le début et la fin
la source
Je place toujours le chemin entre guillemets lorsque je crée un fichier .bat. (Je viens d'ajouter la PAUSE pour qu'elle ne ferme pas l'écran.)
Par exemple:
la source
La bonne façon de procéder est la suivante:
la source
Le moyen le plus simple de résoudre ce problème est de mettre le nom du dossier entre guillemets:
(cd\New Folder\...) --> (cd\"New Folder"\...)
Espère que cela aide.
la source
Si vous avez besoin de stocker un chemin permanent (le chemin n'est pas modifié lorsque cmd est redémarré)
Exécutez l'invite de commande en tant qu'administrateur (cliquez avec le bouton droit sur cmd.exe et sélectionnez exécuter en tant qu'administrateur)
Dans cmd
setx path "%path%;your new path"
puis entrezVérifiez si le chemin est pris correctement en tapant chemin et en appuyant sur Entrée
la source
essayez également d'ajouter des doubles barres obliques comme cela ne fonctionne que pour moi
set dir = "C: \\ 1. Un dossier \\ Un autre dossier \\ Juste parce que"
@echo sur MKDIR% dir%
OMG après avoir posté, ils ont supprimé le deuxième \ dans mon message, donc si vous ouvrez mon commentaire et qu'il en montre trois, vous devriez les lire comme deux ......
la source