Question Batch créer des sous-dossiers dans le chemin avec des espaces


J'essaie de créer un sous-dossier 2015 dans de nombreux dossiers de projets sur un lecteur partagé. Un article précédent ici expliquait déjà parfaitement comment faire avec CMD: ici. Cette solution disait:

FOR /d %A IN (e:\donuts\*) DO mkdir %A\big

Mon problème est que le chemin d'accès aux dossiers du projet dans lequel le sous-dossier 2015 sera créé contient des espaces. Donc mon code ressemble à ceci

FOR /d %A IN (e:\corporate folder\*) DO mkdir %A\2015

Lorsque les dossiers de projet project1, project2, projectn sont trouvés à la place de *. Lorsque je lance ceci, CMD interprète cela comme:

mkdir e:\corporate\2015 

résultant dans un dossier:

e:/corporate/2015

Lorsque je crée un dossier factice sur le même lecteur et que je lance:

FOR /d %A IN (e:\corporate_folder\projects\*) DO mkdir %A\2015

un dossier 2015 est créé dans chaque sous-dossier, comme il se doit. De cela, je conclus que l'espace dans le chemin du dossier est à l'origine du problème. J'apprécierais toutes les suggestions pour forcer CMD à accepter l'espace comme faisant partie du chemin. Merci!


3
2017-11-12 12:32


origine




Réponses:


Placez la référence de chemin entre guillemets:

FOR /d %A IN ("e:\corporate folder\*") DO mkdir "%A\2015"

3
2017-11-12 13:24



Excellent, ça marche. J'avais essayé de citer le chemin entre parenthèses, mais je n'avais pas pensé faire de même pour le dernier argument. Merci encore! - HDR