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 delBefehls 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:\folderes 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
qsteht für "Löschen ohne zu fragen" und ssteht 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.