604 votes

Créer le dossier avec lot mais seulement si elle doesn ' t existent déjà

Quelqu'un peut-il me dire comment faire ce qui suit dans un script de commandes DOS ? (``):

  • Créez un dossier uniquement s’il n’existe pas déjà

Plus en détail, je veux créer un dossier nommé sur le en voiture, mais seulement si ce dossier n’existe pas déjà. Je ne veux pas écraser le contenu du dossier si celui-ci existe déjà et que le lot est exécuté...

789voto

The Answerer Points 211

Vous suffit d’utiliser ceci : `` il wll créer un répertoire uniquement si le dossier n’existe pas.

267voto

Martin Schapendonk Points 3517
 if exist C:\VTS\NUL echo "Folder already exists"

if not exist C:\VTS\NUL echo "Folder does not exist"
 

Voir aussi http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/if.mspx

70voto

Agent_9191 Points 5466

Appelez simplement mkdir C:\VTS n'importe quoi. Il sera tout simplement signaler que le sous-répertoire existe déjà.

Edit: Comme d'autres l'ont noté, ce n'définir le %ERRORLEVEL% si le dossier existe déjà. Si votre lot (ou à tout processus d'appel) ne se soucie pas du niveau d'erreur, cette méthode fonctionne très bien. Puisque la question n'a pas fait mention d'éviter que le niveau d'erreur, cette réponse est parfaitement valide. Elle satisfait les besoins de créer le dossier s'il n'existe pas, et il n'est pas remplacer le contenu d'un dossier existant. Sinon, suivez Martin Schapendonk de réponse.

56voto

3years2late Points 91

mkdir C: \ VTS 2> NUL

créer un dossier appelé VTS et afficher "Un sous-répertoire ou fichier TEST existe déjà" pour NUL.

ou

(C: & (mkdir "C: \ VTS" 2> NUL)) &

changer la lettre de lecteur en c :, mkdir, erreur de sortie à null et exécuter la commande suivante.

35voto

ravi06 Points 87
set myDIR=LOG
IF not exist %myDIR% (mkdir %myDIR%)

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