Мне нужна команда Windows для удаления каталога и всех содержащихся в нем файлов, но я не хочу видеть никаких ошибок, если каталог не существует.
Ответы:
Перенаправьте вывод del
команды на nul. Обратите внимание 2
, чтобы указать, что вывод ошибки должен быть перенаправлен. См. Также этот вопрос , и особенно техническую документацию Использование операторов перенаправления команд .
del {whateveroptions} 2>nul
Или вы можете проверить наличие файла перед вызовом del
:
if exist c:\folder\file del c:\folder\file
Обратите внимание, что вы можете использовать if exist c:\folder\
(с завершающим \
), чтобы проверить, c:\folder
действительно ли это папка, а не файл.
rmdir /s /q some\where\myFolder 2>nul
rmdir
= rd
), который dbenham уже дал ровно 6 лет назад
Либо перенаправить stderr на nul
rd /q /s "c:\yourFolder" 2>nul
Или убедитесь, что папка существует перед удалением. Обратите внимание, что завершение \
является критическим в условии IF.
if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"
Для меня в Windows 10 отлично работает следующее:
if exist <path> rmdir <path> /q /s
q
означает «удалить без запроса» и s
означает «удалить все вложенные папки и файлы в нем».
И вы также можете объединить команду:
(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>
Вышеупомянутое появляется в подсказке с Y или N. Итак, вместо этого я использовал следующее, и он отлично работает.
if exist cddd rmdir cddd
Надеюсь, это кому-то поможет.
Ура.