Clear-Content
Löscht den Inhalt eines Elements, löscht aber nicht das Element.
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 Cmdlet Clear-Content
löscht den Inhalt eines Elements, z. B. das Löschen des Texts aus einer Datei, aber das Element wird nicht gelöscht. Daher ist das Element vorhanden, aber es ist leer.
Clear-Content
ähnelt Clear-Item
, funktioniert jedoch 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, sind aber 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 Dateinamenerweiterung .log
, 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 Dateinamenerweiterung .log
zu beschränken, anstatt *.log
im Pfad anzugeben, wird der Vorgang schneller.
Beispiel 3: Löschen aller Daten aus einem Datenstrom
In diesem Beispiel wird gezeigt, wie das Cmdlet Clear-Content
den Inhalt aus einem alternativen Datenstrom löscht, während der Datenstrom intakt bleibt.
Der erste Befehl verwendet das Cmdlet Get-Content
, um den Inhalt des Zone.Identifier
Datenstroms in der datei Copy-Script.ps1
abzurufen, die aus dem Internet heruntergeladen wurde.
Der zweite Befehl verwendet das Cmdlet Clear-Content
, 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 Möglichkeit, Sicherheitsprüfungen zu beseitigen, die Dateien blockieren, die aus dem Internet heruntergeladen werden. Wenn Sie überprüfen, ob eine heruntergeladene Datei sicher ist, verwenden Sie das Cmdlet Unblock-File
.
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
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Anmerkung
Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie Invoke-Command
, um die Identität eines anderen Benutzers zu imitieren oder ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.
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 parameter Path. Geben Sie ein Pfadelement oder Muster ein, z. B. *.txt
. Wildcards 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 parameter Path. Die Syntax des Filters, einschließlich der Verwendung von Wildcards, hängt vom Anbieter ab. 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 eine Benutzerbestätigung zu verlangen.
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 parameter Path. Geben Sie ein Pfadelement oder Muster ein, z. B. *.txt
. Wildcards 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 Inhalte gelöscht werden. Im Gegensatz zum Path-Parameter wird der Wert LiteralPath- genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards 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 Inhalte gelöscht werden. Wildcards sind zulässig. Die Pfade müssen Pfade zu Elementen und nicht zu Containern sein. Sie müssen z. B. einen Pfad zu einer oder mehreren Dateien angeben, nicht einen Pfad zu einem Verzeichnis. Wildcards 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 Provider 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. Wildcardzeichen werden nicht unterstützt.
Sie können das Cmdlet Clear-Content
verwenden, um den Inhalt eines beliebigen alternativen Datenstroms zu ändern, z. B. Zone.Identifier
. 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 Cmdlet Unblock-File
.
Dieser Parameter wurde in PowerShell 3.0 eingeführt. Ab PowerShell 7.2 können Clear-Content
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 passiert, 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 Clear-Content
mit dem PowerShell FileSystem-Anbieter und anderen Anbietern verwenden, die Inhalte bearbeiten. Verwenden Sie Clear-Item
, um Elemente zu löschen, die nicht als Inhalt gelten, z. B. elemente, die vom PowerShell-Zertifikat oder Registrierungsanbieter verwaltet werden.
Das Cmdlet Clear-Content
ist für die Arbeit mit den Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden.
Geben Sie Get-PSProvider
ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können.
Weitere Informationen finden Sie unter about_Providers.