Potrzebuję polecenia systemu Windows, aby usunąć katalog i wszystkie zawierające go pliki, ale nie chcę wyświetlać żadnych błędów, jeśli katalog nie istnieje.
Odpowiedzi:
Przekieruj dane wyjściowe del
polecenia do wartości nul. Zwróć uwagę 2
, aby wskazać, że wyjście błędu powinno zostać przekierowane. Zobacz także to pytanie , a zwłaszcza dokument techniczny Korzystanie z operatorów przekierowania poleceń .
del {whateveroptions} 2>nul
Lub możesz sprawdzić istnienie pliku przed wywołaniem del
:
if exist c:\folder\file del c:\folder\file
Zauważ, że możesz użyć if exist c:\folder\
(z końcem \
), aby sprawdzić, czy c:\folder
rzeczywiście jest to folder, a nie plik.
rmdir /s /q some\where\myFolder 2>nul
rmdir
= rd
), którą dbenham udzielił już dokładnie 6 lat temu
Przekieruj stderr do nul
rd /q /s "c:\yourFolder" 2>nul
Lub sprawdź, czy folder istnieje przed usunięciem. Zwróć uwagę, że zakończenie \
jest krytyczne w warunku IF.
if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"
U mnie w systemie Windows 10 działa świetnie:
if exist <path> rmdir <path> /q /s
q
oznacza „usuń bez pytania” i s
oznacza „usuń wszystkie podfoldery i pliki w nim”.
Możesz także połączyć polecenie:
(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>
W powyższym monicie pojawia się T lub N. Więc zamiast tego użyłem następującego i działa idealnie.
if exist cddd rmdir cddd
Mam nadzieję, że to komuś pomoże.
Twoje zdrowie.