Clear-Content
Löscht den Inhalt eines Elements, jedoch nicht das Element selbst.
Syntax
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String>]
[<CommonParameters>]
Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String>]
[<CommonParameters>]
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Clear-Content
Cmdlet löscht den Inhalt eines Elements, z. B. das Löschen des Texts aus einer Datei, aber das Element wird nicht gelöscht. Folglich ist das Element vorhanden, aber leer. Clear-Content
ähnelt Clear-Item
, aber es funktioniert für Elemente mit Inhalten anstelle von Elementen mit Werten.
Beispiele
Beispiel 1: Löschen aller Inhalte aus einem Verzeichnis
Clear-Content "..\SmpUsers\*\init.txt"
Mit diesem Befehl werden alle Inhalte aus den init.txt
Dateien in allen Unterverzeichnissen des SmpUsers
Verzeichnisses gelöscht. Die Dateien werden nicht gelöscht, sie sind anschließend jedoch leer.
Beispiel 2: Löschen von Inhalten aller Dateien mit einem Wildcard
Clear-Content -Path "*" -Filter "*.log" -Force
Dieser Befehl löscht den Inhalt aller Dateien im aktuellen Verzeichnis mit der .log
Dateinamenerweiterung, einschließlich Dateien mit dem schreibgeschützten Attribut. Das Sternchen (*
) im Pfad stellt alle Elemente im aktuellen Verzeichnis dar. Der Parameter Force macht den Befehl für schreibgeschützte Dateien wirksam. Wenn Sie einen Filter verwenden, um den Befehl auf Dateien mit der .log
Dateinamenerweiterung zu beschränken, anstatt im Pfad anzugeben *.log
, wird der Vorgang schneller.
Beispiel 3: Löschen aller Daten aus einem Datenstrom
In diesem Beispiel wird gezeigt, wie das Clear-Content
Cmdlet den Inhalt aus einem alternativen Datenstrom löscht, während der Datenstrom intakt bleibt.
Der erste Befehl verwendet das Get-Content
Cmdlet, um den Inhalt des Zone.Identifier
Datenstroms in der Copy-Script.ps1
Datei abzurufen, der aus dem Internet heruntergeladen wurde.
Der zweite Befehl verwendet das Clear-Content
Cmdlet, um den Inhalt zu löschen.
Der dritte Befehl wiederholt den ersten Befehl. Er überprüft, ob der Inhalt gelöscht wird, der Datenstrom bleibt jedoch bestehen. Wenn der Datenstrom gelöscht wurde, würde der Befehl einen Fehler generieren.
Sie können eine Methode wie diese verwenden, um den Inhalt eines alternativen Datenstroms zu löschen. Es ist jedoch nicht die empfohlene Methode, Sicherheitsüberprüfungen zu deaktivieren, die Dateien blockieren, die aus dem Internet heruntergeladen werden. Wenn Sie überprüfen, ob eine heruntergeladene Datei sicher ist, verwenden Sie das Unblock-File
Cmdlet.
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
[ZoneTransfer]
ZoneId=3
Clear-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Parameter
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Hinweis
Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie zum Identitätswechsel eines anderen Benutzers oder zum Erhöhen ihrer Anmeldeinformationen beim Ausführen dieses Cmdlets Invoke-Command
.
Typ: | PSCredential |
Position: | Named |
Standardwert: | Current user |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Exclude
Gibt als Zeichenfolgenarray Zeichenfolgen an, die dieses Cmdlet vom Pfad zum Inhalt ausgelassen wird. Der Wert dieses Parameters qualifiziert den Path-Parameter . Geben Sie ein Pfadelement oder Einmuster ein, z *.txt
. B. . Platzhalter sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Filter
Gibt einen Filter im Format oder in der Sprache des Anbieters an. Der Wert dieses Parameters qualifiziert den Path-Parameter . Die Syntax des Filters einschließlich der Verwendung von Platzhaltern ist vom Anbieter abhängig. Filter sind effizienter als andere Parameter, da der Anbieter sie beim Abrufen der Objekte anwendet, anstatt powerShell nach dem Abrufen der Objekte zu filtern.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Force
Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Include
Gibt als Zeichenfolgenarray Inhalt an, den dieses Cmdlet löscht. Der Wert dieses Parameters qualifiziert den Path-Parameter . Geben Sie ein Pfadelement oder Einmuster ein, z *.txt
. B. . Platzhalter sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-LiteralPath
Gibt die Pfade zu den Elementen an, aus denen der Inhalt gelöscht wird. Im Gegensatz zum Path-Parameter wird der Wert von LiteralPath genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert.
Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen ('
) ein. Einfache Anführungszeichen weisen darauf hin, dass PowerShell keine Zeichen als Escapesequenzen interpretiert.
Typ: | String[] |
Aliase: | PSPath, LP |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt die Pfade zu den Elementen an, aus denen der Inhalt gelöscht wird. Platzhalter sind zulässig. Die Pfade müssen auf Elemente und nicht auf Container zeigen. Sie müssen beispielsweise einen Pfad zu Dateien angeben, ein Pfad zu einem Verzeichnis ist nicht zulässig. Platzhalter sind zulässig. Dieser Parameter ist erforderlich, der Parametername (Path) ist jedoch optional.
Typ: | String[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | True |
-Stream
Dies ist ein dynamischer Parameter, der vom FileSystem-Anbieter zur Verfügung gestellt wird. Dieser Parameter ist nur unter Windows verfügbar.
Gibt einen alternativen Datenstrom für Inhalt an. Wenn der Datenstrom nicht vorhanden ist, erstellt es dieses Cmdlet. Platzhalterzeichen werden nicht unterstützt.
Sie können das Clear-Content
Cmdlet verwenden, um den Inhalt eines beliebigen alternativen Datenstroms zu ändern, z Zone.Identifier
. B. . Dies wird jedoch nicht empfohlen, um Sicherheitskontrollen zu beseitigen, die Dateien blockieren, die aus dem Internet heruntergeladen werden. Wenn Sie überprüfen, ob eine heruntergeladene Datei sicher ist, verwenden Sie das Unblock-File
Cmdlet.
Dieser Parameter wurde in PowerShell 3.0 eingeführt. Ab PowerShell 7.2 Clear-Content
können sie den Inhalt alternativer Datenströme aus Verzeichnissen und Dateien löschen.
Weitere Informationen finden Sie unter about_FileSystem_Provider.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
PowerShell enthält die folgenden Aliase für Clear-Content
:
- Alle Plattformen:
clc
Sie können mit dem PowerShell FileSystem-Anbieter und anderen Anbietern, die Inhalte bearbeiten, verwenden Clear-Content
. Verwenden Sie die Verwendung Clear-Item
, um Elemente zu löschen, die nicht als Inhalt betrachtet werden, z. B. elemente, die vom PowerShell-Zertifikat oder Registrierungsanbieter verwaltet werden.
Das Clear-Content
Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden.
Geben Sie ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können Get-PsProvider
.
Weitere Informationen finden Sie unter about_Providers.