web-dev-qa-db-fra.com

Qu'est-ce qui équivaut à 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 a-t-il?

39
Renjith G

Windows mkdir le fait automatiquement si les extensions de commande sont activées. Ils sont sur à peu près toutes les boîtes que j'ai jamais utilisées, mais s'ils 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é supplémentaire de cmd.exe qui vous permet d'en faire bien plus (au prix d'une petite compatibilité avec les incarnations antérieures du langage batch).

Windows XP cmd.exe devrait avoir ces extensions activées par défaut mais vous pouvez configurer votre box pour 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 souhaitez utiliser les extensions, vos fichiers cmd doivent avoir un setlocal pour les réactiver.

Le script ci-dessus pourrait s'appeler md2.cmd et vous seriez alors assuré de pouvoir créer plusieurs niveaux de répertoire avec "md2 a\b\c" sans avoir à vous soucier de l'activation des extensions.

Presque tous les scripts cmd que j'écris commencent par:

setlocal enableextensions enabledelayedexpansion

pour m'assurer que je me rapproche le plus possible du comportement de mon bien-aimé bash :-)

42
paxdiablo

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

mkdir a\b\c

35

Pour une étrange raison, lorsque j'ai tenté 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 entre guillemets, comme indiqué ci-dessous;

mkdir "src/main/Java/main/resources"

De plus, unix le permet;

mkdir -p src/main/Java src/main/resources

où deux branches seront créées comme indiqué ci-dessous, l'équivalent de celui des fenêtres est;

mkdir "src/Java/resources" "src/main/resources"

src
-----Java
-------resources
-----main
-------resources

J'espère que ça aide! xox

9
Nick Ko

Si vous souhaitez utiliser des barres obliques, indiquez simplement la structure de répertoires souhaitée entre guillemets doubles. mkdir "org/frame/bu/fed/config"

4
Anup Thakare

mkdir crée par défaut tous les répertoires intermédiaires. Assurez-vous simplement que vous utilisez "\" comme séparateur.

0
basit