2009-05-25 27 views

Répondre

28

Le mkdir de Windows fait automatiquement si les extensions de commandes sont activées. Ils sont à peu près toutes les cases que j'ai jamais utilisé, mais, si elles ne sont pas, vous pouvez créer votre propre script pour le faire:

@echo off 
setlocal enableextensions 
md %1 
endlocal 

expansion:

extensions de commande sont une caractéristique supplémentaire de cmd.exe qui vous permet de faire beaucoup plus (au prix d'un peu de compatibilité avec les versions précédentes du langage batch).

Windows XP cmd.exe doit avoir ces extensions activées par défaut, mais vous pouvez configurer votre boîte 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 voulez 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 serez assuré de pouvoir créer plusieurs niveaux de répertoires avec "md2 a\b\c" sans avoir à vous soucier de savoir si les extensions ont été activées.

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

setlocal enableextensions enabledelayedexpansion 

pour assurer que je reçois le plus près possible du comportement de mon bien-aimé bash :-)

+0

Pouvez-vous expliquer comment cette réponse est meilleure que juste courir 'md'? –

+1

@notfed, si les extensions de commande sont _disabled_ pour une raison quelconque, md ne créera pas le chemin entier. C'est la situation que j'ai donnée dans la réponse, et celle pour laquelle vous aurez besoin d'un script, pour les activer temporairement. – paxdiablo

19

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

mkdir a\b\c

+0

Je pense que vous vouliez mettre 'md' et non' mkdir'. – Shyam

+3

"mkdir" et "md" sont les mêmes dans Windows. –

+6

Sauf que vous avez des trucs GNUWin32 sur votre chemin.Puis, étrangement, le mkdir GNU est appelé en utilisant mkdir (et il m'a fallu un certain temps pour découvrir pourquoi je ne pouvais plus créer d'arborescences de dossiers ...) :-) – Joey

3

Si vous souhaitez utiliser les barres obliques, donnez simplement la structure du répertoire que vous voulez entre guillemets. mkdir "org/cadre/bu/fed/config"

3

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 

il ne fonctionne pas, je devais entourer le chemin entre guillemets, comme indiqué ci-dessous;

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

De plus, unix le permet; Où deux branches seront créées comme illustré ci-dessous, l'équivalent de celui de Windows est;

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

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

J'espère que cela aide! xox