
Ich versuche, die Ausführung rd /S
in einem nicht leeren Verzeichnis durchzuführen, und manchmal funktioniert es einwandfrei, manchmal wird die Meldung „Das Verzeichnis ist nicht leer“ angezeigt. Warum erhalte ich diesen Fehler? Gibt es eine zuverlässige Möglichkeit, einen Ordner voller Dateien und Unterverzeichnisse unter Windows zu entfernen? PowerShell hat Remove-Item
ebenfalls dieses Problem.
Antwort1
Möglicherweise scannt der lokale Antiviren- oder Indizierungsdienst die neu kopierten Dateien und sperrt sie, damit sie nicht sofort gelöscht werden.
Ich würde eine Verzögerung programmieren und es bei einem Fehler erneut versuchen.
for (i = 1 to 10 etc...)
{
try to remove directory
if directory does not exist, break out of loop
wait a second
}
if directory still exists, abort!
Antwort2
Es ist sehr wahrscheinlich, dass der nicht gelöschte leere Ordner einige versteckte Dateien enthält oder dass jemand den Ordner noch verwendet.
Antwort3
Versuche dies:
del c:\test\*.* /Q
rmdir c:\test /Q
Antwort4
rd /S
Ich versuche , in einem nicht leeren Verzeichnis auszuführen und manchmal funktioniert es einwandfrei, manchmal meldet esDas Verzeichnis ist nicht leer. Warum erhalte ich diesen Fehler?
Weil es versteckte Dateien oder Dateien enthält, die andere Berechtigungen erfordern.
Gibt es eine zuverlässige Möglichkeit, einen Ordner voller Dateien und Unterverzeichnisse unter Windows zu löschen?
Schauen Sie in den Ordner, um zu sehenWasDateien übrig sind und prüfen Sie, ob Sie diese manuell löschen können. Wenn nicht, benötigen Sie möglicherweise andere Berechtigungen. Versuchen Sie, es von einemEingabeaufforderung mit erhöhten Rechten.
Auch die Funktion „Remove Item“ von PowerShell ist von diesem Problem betroffen.
Wenn es sich nicht um ein Berechtigungsproblem handelt, können Sie es erzwingen:Remove-Item -Recurse -Force …