Qu'est-ce qui équivaut à Linux mkdir-p dans 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? Est-ce là tout?

29
demandé sur indiv 2009-05-25 07:32:47

4 réponses

Le mkdir de Windows 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, si ce n'est pas le cas, 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 de faire beaucoup plus (au prix d'un peu de compatibilité avec les incarnations antérieures du langage batch).

Windows XP {[2] } devrait avoir ces extensions activées par défaut, mais vous pouvez configurez votre boîte de sorte qu'ils soient désactivés par défaut (en utilisant "cmd /e:off" comme processeur par défaut). Si vous souhaitez utiliser les extensions, votre cmd fichiers doivent avoir un setlocal pour les réactiver.

Le script ci-dessus pourrait s'appeler md2.cmd et alors vous seriez assuré de pouvoir créer plusieurs niveaux de répertoire avec "md2 a\b\c" sans avoir à vous soucier de savoir si les extensions ont été activées.

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

setlocal enableextensions enabledelayedexpansion

À assurez-vous que je me rapproche le plus possible du comportement de mon bien-aimé bash :-)

35
répondu paxdiablo 2009-05-25 03:53:20

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

mkdir a\b\c

23
répondu Alan Haggai Alavi 2009-05-25 03:38:20

Pour une raison étrange quand 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 le permet;

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

Où deux branches seront créées comme indiqué ci-dessous, l'équivalent de celui sur windows est;

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

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

J'espère que cela aide! xox

5
répondu Nick Ko 2018-03-07 22:01:03

Si vous voulez utiliser des barres obliques, donnez simplement la structure de répertoire que vous voulez entre guillemets doubles. mkdir "org/image/bu/fed/config"

4
répondu Anup Thakare 2016-08-04 07:08:01