Freigeben über


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, das Element wird jedoch nicht gelöscht. Folglich ist das Element vorhanden, aber leer. Clear-ContentClear-Itemähnelt , 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"

Dieser Befehl löscht den gesamten Inhalt aus den init.txt Dateien in allen Unterverzeichnissen des SmpUsers Verzeichnisses. Die Dateien werden nicht gelöscht, sie sind anschließend jedoch leer.

Beispiel 2: Löschen von Inhalten aller Dateien mit einem Feldhalter

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. Mit dem Force-Parameter wird der 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 beschleunigt.

Beispiel 3: Löschen aller Daten aus einem Stream

Dieses Beispiel zeigt, wie das Clear-Content Cmdlet den Inhalt aus einem alternativen Datenstrom löscht, während der Stream intakt bleibt.

Der erste Befehl verwendet das Get-Content Cmdlet, um den Inhalt des Zone.Identifier Datenstroms in der Datei abzurufen, die Copy-Script.ps1 aus dem Internet heruntergeladen wurde.

Der zweite Befehl verwendet das Clear-Content Cmdlet, um den Inhalt zu löschen.

Mit dem dritten Befehl wird der erste Befehl wiederholt. Es wird überprüft, ob der Inhalt gelöscht ist, aber der Stream bleibt. Wenn der Stream 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.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Hinweis

Dieser Parameter wird von keinem Anbieter unterstützt, der mit PowerShell installiert ist. Verwenden Invoke-CommandSie , um die Identität eines anderen Benutzers zu annehmen oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

Gibt als Zeichenfolgenarray Zeichenfolgen an, die dieses Cmdlet aus dem Pfad zum Inhalt auslässt. Der Wert dieses Parameters qualifiziert den Path-Parameter. Geben Sie ein Pfadelement oder -muster ein, z. B *.txt. . Platzhalter sind zulässig.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 die Objekte nach dem Abrufen von PowerShell filtern zu lassen.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Gibt als Zeichenfolgenarray den Inhalt an, den dieses Cmdlet löscht. Der Wert dieses Parameters qualifiziert den Path-Parameter. Geben Sie ein Pfadelement oder -muster ein, z. B *.txt. . Platzhalter sind zulässig.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Gibt die Pfade zu den Elementen an, aus denen der Inhalt gelöscht wird. Im Gegensatz zum Path-Parameter wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen (') ein. Einzelne Anführungszeichen weisen darauf hin, dass PowerShell keine Zeichen als Escapesequenzen interpretieren soll.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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, aber der Parametername (Path) ist optional.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 Inhalte an. Wenn der Stream nicht vorhanden ist, wird er von diesem Cmdlet erstellt. Platzhalterzeichen werden nicht unterstützt.

Sie können das Clear-Content Cmdlet verwenden, um den Inhalt eines beliebigen alternativen Datenstroms zu ändern, z. B Zone.Identifier. . Dies wird jedoch nicht empfohlen, um Sicherheitsüberprü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 Unblock-File Cmdlet.

Dieser Parameter wurde in PowerShell 3.0 eingeführt. Ab PowerShell 7.2 Clear-Content kann der Inhalt alternativer Datenströme aus Verzeichnissen und Dateien gelöscht werden.

Weitere Informationen finden Sie unter about_FileSystem_Provider.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet übergeben.

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 mit anderen Anbietern, die Inhalte bearbeiten, verwenden Clear-Content . Verwenden Clear-ItemSie zum Löschen von Elementen, die nicht als Inhalt gelten, z. B. Elemente, die vom PowerShell-Zertifikat- oder Registrierungsanbieter verwaltet werden.

Das Clear-Content Cmdlet ist für die Verwendung von Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden. Geben Sie ein Get-PsProvider, um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten. Weitere Informationen finden Sie unter about_Providers.