web-dev-qa-db-fra.com

Vérifier si un dossier existe en utilisant un fichier .bat

J'aimerais pouvoir vérifier si un certain dossier (FolderA) existe et, le cas échéant, si un message doit être affiché, puis le fichier de commandes à quitter.

Si FolderA n’existe pas, j’aimerais vérifier s’il existe un autre dossier (FolderB). Si FolderB n'existe pas, un message doit s'afficher et le dossier doit être créé. Si FolderB existe, un message doit être affiché pour l'indiquer.

Est-ce que quelqu'un a une idée sur le code que je pourrais simplement utiliser sur le bloc-notes pour créer un fichier de commandes pour me permettre de le faire?

Tout cela doit être fait dans un fichier .bat.

144
user3179825

Essayez d'utiliser ceci:

IF EXIST yourfilename (
echo Yes 
) ELSE (
echo No
)

Remplacez votre nom de fichier par le nom de votre fichier.

Pour un répertoire, regardez ceci https://jeffpar.github.io/kbarchive/kb/065/Q65994/

C:
IF NOT EXIST C:\WIN\ GOTO NOWINDIR
CD \WIN
:NOWINDIR

la barre oblique inverse ('\') semble suffire à faire la distinction entre les répertoires et les fichiers ordinaires.

221
09stephenb

Je pense que la réponse est ici (éventuellement en double):

Comment tester si un fichier est un répertoire dans un script batch?

IF EXIST %VAR%\NUL ECHO It's a directory

Remplacez% VAR% par votre répertoire. Veuillez lire la réponse d'origine car elle contient des détails sur la gestion des espaces dans le nom du dossier.

Comme le dit foxidrive, cela pourrait ne pas être fiable sur les fenêtres de classe NT. Cela fonctionne pour moi, mais je sais qu'il a quelques limitations (que vous pouvez trouver dans la question référencée)

if exist "c:\folder\" echo folder exists 

devrait être suffisant pour les fenêtres modernes.

31
Cosmin Vană