Je voudrais pouvoir vérifier si un certain dossier (FolderA) existe et si tel est le cas, pour un message à afficher et ensuite le fichier de commandes à quitter.
Si FolderA n'existe pas, je voudrais alors vérifier si un autre dossier (FolderB) existe. Si FolderB n'existe pas, un message doit être affiché et le dossier doit être créé, et si FolderB existe, un message doit être affiché le disant.
Quelqu'un a-t-il une idée du code que je pourrais simplement utiliser sur le bloc-notes pour créer un fichier batch pour me permettre de le faire?
Tout cela doit être fait dans un seul .bat
fichier.
windows
batch-file
user3179825
la source
la source
Réponses:
Essayez d'utiliser ceci:
Remplacez votre nom de fichier par le nom de votre fichier.
Pour un répertoire, regardez ce https://jeffpar.github.io/kbarchive/kb/065/Q65994/
la barre oblique inverse de fin ('\') semble être suffisante pour faire la distinction entre les répertoires et les fichiers ordinaires.
la source
if exist "c:\folder\nul" echo ok
n'a pas fonctionné pour moi sous Windows 7. Ce qui a fonctionné étaitif exist "c:\folder\" echo ok
.if exist "networkPath\nul"
peut signaler à tort un fichier en tant que dossier sur les lecteurs réseau Windows. Malheureusement, leif exist "networkPath\"
souffre du même problème. Voir la mise à jour du 08/12/2015 sur stackoverflow.com/a/8669636/1012053 pour une technique qui a été fiable dans tous mes tests.if exist c:\Windows\nul echo ok
ditok
, maisif exist "c:\Windows\nul" echo ok
ne dit rien. Comme je l'ai dit, toutif exist "c:\Program Files\nul" echo ok
ne dit rien,if exist "c:\Program Files\" echo ok
ditok
et fonctionne donc même pour le chemin avec des espaces.Je pense que la réponse est ici (peut-être en double):
Comment tester si un fichier est un répertoire dans un script batch?
Remplacez% VAR% par votre répertoire. Veuillez lire la réponse d'origine car elle contient des détails sur la gestion des espaces blancs dans le nom du dossier.
Comme l'a dit foxidrive, cela pourrait ne pas être fiable sur les fenêtres de classe NT. Cela fonctionne pour moi, mais je sais que cela a certaines limites (que vous pouvez trouver dans la question référencée)
devrait être suffisant pour les fenêtres modernes.
la source
if exist "c\:folder\" echo folder exists
E:\NUL