99 votes

Quel est l'équivalent de Linux mkdir -p sous Windows?

Sous Linux, mkdir -p crée une arborescence de dossiers.

Quelle est l'option équivalente dans Windows pour créer une arborescence de dossiers? Y en a-t-il une?

78voto

Alan Haggai Alavi Points 34260

Sous Windows, mkdir crée des arbres de répertoires par défaut.

mkdir a\b\c

68voto

paxdiablo Points 341644

Le Windows mkdir le fait automatiquement si les extensions de commande sont activées. Elles sont activées sur presque toutes les boîtes que j'ai utilisées, mais si elles ne le sont pas, vous pouvez créer votre propre script pour le faire :

@echo off
setlocal enableextensions
md %1
endlocal

Expansion :

Les extensions de commande sont une fonctionnalité ajoutée de cmd.exe qui vous permet de faire beaucoup plus de choses (au prix d'un peu de compatibilité avec les versions antérieures du langage de batch).

Windows XP cmd.exe devrait avoir ces extensions activées par défaut, mais vous pouvez configurer votre boîte de sorte qu'elles soient désactivées par défaut (en utilisant "cmd /e:off" comme processeur par défaut). Si vous faites cela et que vous voulez utiliser les extensions, vos fichiers cmd doivent avoir un setlocal pour les activer à nouveau.

Le script ci-dessus pourrait être appelé md2.cmd et ensuite vous seriez assuré de pouvoir créer plusieurs niveaux de répertoire avec "md2 a\b\c" sans avoir à vous soucier si les extensions sont activées.

Presque chacun des scripts cmd que j'écris commence par :

setlocal enableextensions enabledelayedexpansion

pour m'assurer d'être aussi proche que possible du comportement de mon bien-aimé bash :-)

21voto

Nick Ko Points 145

Pour une raison étrange, lorsque j'ai essayé de créer un répertoire avec la méthode suivante;

mkdir src/main/java/main/resources 

cela n'a pas fonctionné, j'ai dû entourer le chemin de guillemets doubles, comme indiqué ci-dessous;

mkdir "src/main/java/main/resources"

De plus, Unix permet ceci;

mkdir -p src/main/java src/main/resources

où deux branches seront créées comme indiqué ci-dessous, l'équivalent sur Windows est;

mkdir "src/java/resources" "src/main/resources"

src
-----java
-------resources
-----main
-------resources

J'espère que cela aide! xox

7voto

Anup Thakare Points 79

Si vous souhaitez utiliser des barres obliques, il suffit de donner la structure du répertoire que vous souhaitez entre guillemets doubles. mkdir "org/frame/bu/fed/config"

6voto

basit Points 96

Mkdir crée par défaut tous les répertoires intermédiaires. Assurez-vous simplement d'utiliser '\' comme séparateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X