Мені потрібна команда 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
Сподіваюся, це комусь допомагає.
Ура.