Ich benötige einen Windows-Befehl, um ein Verzeichnis und alle darin enthaltenen Dateien zu löschen, möchte jedoch keine Fehler sehen, wenn das Verzeichnis nicht vorhanden ist.
Antworten:
Leiten Sie die Ausgabe des del
Befehls nach nul um. Beachten Sie 2
, dass die Fehlerausgabe umgeleitet werden soll, um anzuzeigen. Siehe auch diese Frage und insbesondere das technische Dokument Verwenden von Befehlsumleitungsoperatoren .
del {whateveroptions} 2>nul
Oder Sie können vor dem Aufruf überprüfen, ob eine Datei vorhanden ist del
:
if exist c:\folder\file del c:\folder\file
Beachten Sie, dass Sie if exist c:\folder\
(mit dem Trailing \
) verwenden können, um zu überprüfen, ob c:\folder
es sich tatsächlich um einen Ordner und nicht um eine Datei handelt.
rmdir /s /q some\where\myFolder 2>nul
rmdir
= rd
), die Dbenham bereits vor genau 6 Jahren gegeben hat
Leiten Sie entweder stderr nach nul um
rd /q /s "c:\yourFolder" 2>nul
Oder überprüfen Sie vor dem Löschen, ob der Ordner vorhanden ist. Beachten Sie, dass das Trailing \
im IF-Zustand kritisch ist.
if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"
Für mich unter Windows 10 funktioniert Folgendes hervorragend:
if exist <path> rmdir <path> /q /s
q
steht für "Löschen ohne zu fragen" und s
steht für "Alle Unterordner und Dateien darin löschen".
Sie können den Befehl auch zusammenfassen:
(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>
Oben wird in der Eingabeaufforderung Y oder N angezeigt. Also habe ich stattdessen Folgendes verwendet und es funktioniert perfekt.
if exist cddd rmdir cddd
Hoffe das hilft jemandem.
Prost.