Ist es mit PowerShell möglich, ein Verzeichnis mit Dateien zu entfernen, ohne zur Bestätigung der Aktion aufzufordern?
231
Ist es mit PowerShell möglich, ein Verzeichnis mit Dateien zu entfernen, ohne zur Bestätigung der Aktion aufzufordern?
Antworten:
quelle
-ErrorAction Ignore
. Dadurch werden jedoch auch andere Fehler ausgeblendet.Remove-Item './folder/*'
. Wenn Sie wirklich nur Dateien aller Ordner löschen möchten, können Sie alle Blätter auflisten und an das Cmdlet Remove-ItemGet-ChildItem -Recurse -File | Remove-Item
Aus PowerShell entfernen Antwort erzwingen : Hilfe Remove-Item sagt:
Der Befehl zur Problemumgehung lautet
Und dann löschen Sie den Ordner selbst
quelle
Remove-Item -Recurse -Force $dir
und es funktioniert.Get-Help Remove-Item
Dokumentation liegt, die nach demUpdate-Help
Ausführen erhalten wurde ...Das hat bei mir funktioniert:
Daher wird der Ordner mit allen darin enthaltenen Dateien entfernt und es wird kein Fehler ausgegeben, wenn der Ordnerpfad nicht vorhanden ist.
quelle
Update 2018
In der aktuellen Version von PowerShell (getestet mit v5.1 unter Windows 10 1809) kann die einfachere Unix-Syntax verwendet werden
rm -R .\DirName
, um das Verzeichnis.\DirName
mit allen darin enthaltenen Unterverzeichnissen und Dateien stillschweigend zu löschen . Tatsächlich funktionieren viele gängige Unix-Befehle in PowerShell genauso wie in einer Linux-Befehlszeile.quelle
rm -R .\DirName\*
, um den Ordner zu bereinigen, ohne den Ordner selbst zu löschenUm Inhalte ohne Ordner zu löschen, können Sie Folgendes verwenden:
quelle
rm -Force -Recurse -Confirm:$false $directory2Delete
funktionierte nicht in der PowerShell ISE , aber es funktionierte über die reguläre PowerShell CLI.Ich hoffe das hilft. Es trieb mich zu Bannanas.
quelle
PowerShell CLI
und nicht beim Entwickeln in gelöschtPowerShell ISE
.Kurz gesagt, wir können
rm -r -fo {folderName}
den Ordner rekursiv entfernen (alle darin enthaltenen Dateien und Ordner entfernen) und erzwingenquelle
Unten finden Sie eine kopierbare Implementierung der Antwort von Michael Freidgeim
quelle
Da sich mein Verzeichnis in C: \ users befand, musste ich meine Powershell als Administrator ausführen.
Dieser Befehl hat bei mir funktioniert.
quelle
del
ist ein Alias fürRemove-Item
.quelle
Wenn Sie Ihren Ordner als Objekt haben, nehmen wir an, Sie haben ihn mit demselben Befehl im selben Skript erstellt:
Dann können Sie es einfach so im selben Skript entfernen
$ true - Zustände zum rekursiven Entfernen
quelle
quelle
Das hat bei mir funktioniert:
quelle