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.