Мені потрібна команда Windows, щоб видалити каталог і всі файли, що містять його, але я не хочу бачити помилок, якщо каталог не існує.
Відповіді:
Перенаправити вихідні дані delкоманди на нуль. Зверніть увагу на 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 на нуль
rd /q /s "c:\yourFolder" 2>nul
Або переконайтесь, що папка існує перед видаленням. Зверніть увагу, що відставання \є критичним у стані ПЧ.
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
Сподіваюся, це комусь допомагає.
Ура.