Freigeben über


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-PSProviderein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter about_Providers.