Я хотел бы иметь возможность проверить, существует ли определенная папка (FolderA) и, если да, для отображения сообщения, а затем для выхода из пакетного файла.
Если FolderA не существует, я бы хотел проверить, существует ли другая папка (FolderB). Если FolderB не существует, должно отображаться сообщение и должна создаваться папка, а если FolderB существует, должно отображаться сообщение о том, что это так.
Кто-нибудь имеет представление о коде, который я мог бы просто использовать в блокноте, чтобы создать пакетный файл, чтобы позволить мне сделать это?
Все это нужно сделать одним .bat
файлом.
windows
batch-file
user3179825
источник
источник
Ответы:
Попробуйте использовать это:
Замените yourfilename на имя вашего файла.
Справочник можно посмотреть на этом https://jeffpar.github.io/kbarchive/kb/065/Q65994/
завершающей обратной косой черты ('\'), по-видимому, достаточно, чтобы различать каталоги и обычные файлы.
источник
if exist "c:\folder\nul" echo ok
у меня не работало под Windows 7. То, что сработало, былоif exist "c:\folder\" echo ok
.if exist "networkPath\nul"
можете ложно сообщить о файле как папке на сетевых дисках Windows. К сожалению,if exist "networkPath\"
страдает та же проблема. См. Обновление 2015-12-08 на stackoverflow.com/a/8669636/1012053, чтобы узнать о технике, которая была надежной во всех моих тестах.if exist c:\Windows\nul echo ok
говоритok
, ноif exist "c:\Windows\nul" echo ok
ничего не говорит. Как я уже сказал, покаif exist "c:\Program Files\nul" echo ok
ничего не говорит,if exist "c:\Program Files\" echo ok
говоритok
и таким образом работает даже для пути с пробелами.Я думаю, что ответ здесь (возможно, дубликат):
Как проверить, является ли файл каталогом в пакетном скрипте?
Замените% VAR% вашим каталогом. Пожалуйста, прочитайте оригинальный ответ, потому что включает в себя подробности об обработке пробелов в имени папки.
Как сказал foxidrive, это может быть ненадежно для окон класса NT. Это работает для меня, но я знаю, что у него есть некоторые ограничения (которые вы можете найти в указанном вопросе)
должно быть достаточно для современных окон.
источник
if exist "c\:folder\" echo folder exists
E:\NUL