PowerShell Ordner löschen
-
Verwenden das Cmdlet
Remove-item
, um einen Ordner in PowerShell zu löschen - Verwenden Sie die Eingabeaufforderung, um einen Ordner in PowerShell zu löschen
-
Verwenden die Objektmethode
FileSystem
, um einen Ordner in PowerShell zu löschen - Verwenden der .Net-Klasse zum Löschen eines Ordners in PowerShell
Die Ordnerlöschaktion in PowerShell entfernt einen Ordner von einem bestimmten Speicherort, unabhängig davon, ob es sich um einen lokalen oder freigegebenen Pfad handelt.
Dieser Artikel konzentriert sich auf die verschiedenen Methoden zum Löschen eines Ordners mit PowerShell.
Verwenden das Cmdlet Remove-item
, um einen Ordner in PowerShell zu löschen
Mit dem Cmdlet Remove-Item
können ein oder mehrere Objekte entfernt werden.
Wir können zwei verschiedene Syntaxen zum Löschen verwenden. Es sollte jedoch beachtet werden, dass diese beiden separat verwendet, aber nicht kombiniert werden können.
- Syntax 1
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
- Syntax 2
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
Sowohl -Path
als auch -Literalpath
können nicht in derselben Syntax verwendet werden.
Remove-item
-Parameter
Der Name und die Beschreibung der am häufigsten verwendeten Parameter sind unten angegeben.
Name | Beschreibung |
---|---|
-Path |
Der Ort der zu entfernenden Sachen wird angegeben. Es gibt keine Beschränkungen für die Verwendung von Platzhalterzeichen. |
-LiteralPath |
Angegebener Pfad zu einem oder mehreren Standorten |
-Confirm |
Vor dem Ausführen des Cmdlets wird eine Bestätigung angefordert |
-Exclude |
Elemente, die das Cmdlet während des Vorgangs ausschließt |
-Credential |
Alle von PowerShell installierten Anbieter unterstützen diesen Parameter nicht. Verwenden Sie Invoke-Command, um die Identität eines anderen Benutzers anzunehmen oder Ihre Berechtigungen zu eskalieren, wenn Sie dieses Cmdlet verwenden. |
-Filter |
filtern, um den Pfadparameter zu validieren |
-Force |
Erzwingen Sie das Entfernen von Objekten, die nicht anderweitig geändert werden können, z. B. private oder schreibgeschützte Dateien/Aliase oder Variablen. |
-Include |
Elemente, die das Cmdlet während des Vorgangs einschließt |
-Recurse |
Dieses Cmdlet verwirft die Objekte an den angegebenen Orten sowie alle untergeordneten Elemente der Orte. |
-Stream |
Das Stream-Argument ist ein dynamischer Parameter, der vom FileSystem-Anbieter zu Remove-Item hinzugefügt wird. Diese Einstellung gilt nur für Laufwerke mit einem Dateisystem. |
-WhatIf |
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. |
Sehen wir uns einige Beispiele zusammen mit verschiedenen Syntaxverwendungen an,
Beispiel 1:
Hier löschen wir den Ordner test1
mit dem unten erwähnten Befehl, und am Ende können Sie sehen, dass der Ordner gelöscht wird.
Remove-Item 'D:\temp\Test1'
Beispiel 2:
Wir löschen rekursiv den Ordner test2. PowerShell prüft, ob das Verzeichnis im vorherigen Beispiel leer ist. In diesem Szenario wird nur der Ordner entfernt.
Remove-Item 'D:\temp\test2' -Recurse
Beispiel 3: Verwendung von -LiteralPath
in -RemoveItem
Der -LiteralPath
wird zusammen mit den Parametern -Force
und -Recurse
verwendet. Daher werden die Elemente zusammen mit dem Ordner im angegebenen Pfad ohne Bestätigungsaufforderung zwangsweise gelöscht.
Remove-Item -LiteralPath "foldertodelete" -Force -Recurse
Beispiel 4: Remove-item
als Pipeline
Wir verwenden zuerst das Get-ChildItem, um die Ordner und Dateien abzurufen, und dann verwenden wir das Remove-Item
, um die Ergebnisse des vorherigen Befehls weiterzuleiten.
Get-ChildItem C:\Temp\TestFolder\ | Remove-Item -Recurse -Force -Verbose
Das einzige Problem dabei ist, dass nur der Inhalt des Ordners gelöscht wird, nicht aber der Ordner selbst; Daher müssen andere Codeausschnitte hinzugefügt werden, um den Ordner zu löschen.
Verwenden Sie die Eingabeaufforderung, um einen Ordner in PowerShell zu löschen
Die meisten Benutzer der Befehlszeile verwenden den Befehl rmdir
, um Ordner zu entfernen oder zu löschen. Die Syntax ist rmdir
zusammen mit dem Ordnerpfad, wie unten gezeigt.
rmdir C:\Temp\TestFolder
Verwenden die Objektmethode FileSystem
, um einen Ordner in PowerShell zu löschen
In PowerShell stehen verschiedene Optionen zum Entfernen eines Ordners zur Verfügung. Eine davon ist die File System Object Method. Dieses Verfahren besteht aus zwei Phasen. Im ersten Schritt konstruieren wir ein Dateisystemobjekt; Als nächstes verwenden wir im zweiten Schritt die Funktion DeleteFolder()
, um den Ordner des zugehörigen Objekts zu zerstören.
Erstellen Sie dazu zunächst eine test.ps1
-Datei und fügen Sie dann die folgenden unten angegebenen Befehle hinzu.
$object = New-Object -ComObject Scripting.FileSystemObject
$object.DeleteFolder("C:\Temp\TestFolder")
Führen Sie schließlich die Datei test.ps1
aus, und sie löscht unseren beabsichtigten Ordner.
Verwenden der .Net-Klasse zum Löschen eines Ordners in PowerShell
In PowerShell werden die Klasse System.IO.Directory
und die Methode Delete()
vom .NET-Framework verwendet, um einen Ordner zu löschen. Wenn der angegebene Ordner nicht leer ist, löst dieser Vorgang eine Ausnahme aus:
> [System.IO.Directory]::Delete("C:\Temp\TestFolder")
Um diesen nicht leeren Ordner zu entfernen, verwenden Sie die Option $true
in der Funktion Delete()
:
System.IO.Directory]::Delete("C:\Temp\TestFolder", $true)
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.
Verwandter Artikel - PowerShell Directory
- Active Directory-Benutzer in PowerShell abfragen
- PowerShell-Äquivalent zum Linux-mkdir-Befehl
- Abrufen des übergeordneten Verzeichnisses des Elternteils in PowerShell
- Ändern des Arbeitsverzeichnisses in PowerShell
- Erstellen eines Verzeichnisses mit Windows PowerShell
- Filtern von Dateien und Ordnern mithilfe in PowerShell