Freigeben über


Add-Content

Fügt den angegebenen Elementen Inhalt hinzu, z. B. Hinzufügen von Wörtern in einer Datei.

Syntax

Add-Content
   [-Path] <string[]>
   [-Value] <Object[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-NoNewline]
   [-Encoding <FileSystemCmdletProviderEncoding>]
   [-Stream <string>]
   [<CommonParameters>]
Add-Content
   [-Value] <Object[]>
   -LiteralPath <string[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-NoNewline]
   [-Encoding <FileSystemCmdletProviderEncoding>]
   [-Stream <string>]
   [<CommonParameters>]

Beschreibung

Das Add-Content Cmdlet fügt Inhalt an ein angegebenes Element oder eine angegebene Datei an. Sie können den Inhalt angeben, indem Sie den Inhalt im Befehl eingeben oder ein Objekt angeben, das den Inhalt enthält.

Wenn Sie Dateien oder Verzeichnisse für die folgenden Beispiele erstellen müssen, lesen Sie New-Item.

Beispiele

Beispiel 1: Hinzufügen einer Zeichenfolge zu allen Textdateien mit einer Ausnahme

In diesem Beispiel wird an Textdateien im aktuellen Verzeichnis ein Wert angefügt, dateien werden jedoch basierend auf ihrem Dateinamen ausgeschlossen.

Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'

Das Add-Content Cmdlet verwendet den Path-Parameter , um alle .txt Dateien im aktuellen Verzeichnis anzugeben. Der Exclude-Parameter ignoriert Dateinamen, die dem angegebenen Muster entsprechen. Der Value-Parameter gibt die Textzeichenfolge an, die in die Dateien geschrieben wird.

Verwenden Sie Get-Content , um den Inhalt dieser Dateien anzuzeigen.

Beispiel 2: Hinzufügen eines Datums am Ende der angegebenen Dateien

In diesem Beispiel wird das Datum an Dateien im aktuellen Verzeichnis angefügt und das Datum in der PowerShell-Konsole angezeigt.

Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log

Das Add-Content Cmdlet verwendet die Parameter Path und Value , um zwei neue Dateien im aktuellen Verzeichnis zu erstellen. Der Value-Parameter gibt das Get-Date Cmdlet an, um das Datum abzurufen, und übergibt das Datum an Add-Content. Das Add-Content Cmdlet schreibt das Datum in jede Datei. Der PassThru-Parameter übergibt ein -Objekt, das das date-Objekt darstellt. Da kein anderes Cmdlet zum Empfangen des übergebenen Objekts vorhanden ist, wird es in der PowerShell-Konsole angezeigt. Das Get-Content Cmdlet zeigt die aktualisierte Datei DateTimeFile1.log an.

Beispiel 3: Hinzufügen des Inhalts einer angegebenen Datei zu einer anderen Datei

In diesem Beispiel wird der Inhalt aus einer Datei abgerufen und an eine andere Datei angefügt.

Add-Content -Path .\CopyToFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\CopyToFile.txt

Das Add-Content Cmdlet verwendet den Parameter Path , um die neue Datei im aktuellen Verzeichnis anzugeben, CopyToFile.txt. Der Value-Parameter verwendet das Get-Content Cmdlet, um den Inhalt der Datei abzurufen, CopyFromFile.txt. Die Klammern um das Get-Content Cmdlet stellen sicher, dass der Befehl abgeschlossen wird, bevor der Add-Content Befehl beginnt. Der Value-Parameter wird an Add-Contentübergeben. Das Add-Content Cmdlet fügt die Daten an die CopyToFile.txt-Datei an. Das Get-Content Cmdlet zeigt die aktualisierte Datei CopyToFile.txt an.

Beispiel 4: Verwenden einer Variablen zum Hinzufügen des Inhalts einer angegebenen Datei zu einer anderen Datei

In diesem Beispiel wird der Inhalt aus einer Datei abgerufen und der Inhalt in einer Variablen gespeichert. Die Variable wird verwendet, um den Inhalt an eine andere Datei anzufügen.

$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt

Das Get-Content Cmdlet ruft den Inhalt von CopyFromFile.txt ab und speichert den Inhalt in der $From Variablen. Das Add-Content Cmdlet verwendet den Path-Parameter , um die CopyToFile.txt Datei im aktuellen Verzeichnis anzugeben. Der Value-Parameter verwendet die $From Variable und übergibt den Inhalt an Add-Content. Das Add-Content Cmdlet aktualisiert die datei CopyToFile.txt. Das Get-Content Cmdlet zeigt CopyToFile.txt an.

Beispiel 5: Create einer neuen Datei und Kopieren von Inhalten

In diesem Beispiel wird eine neue Datei erstellt und der Inhalt einer vorhandenen Datei in die neue Datei kopiert.

Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt

Das Add-Content Cmdlet verwendet die Parameter Path und Value , um eine neue Datei im aktuellen Verzeichnis zu erstellen. Der Value-Parameter verwendet das Get-Content Cmdlet, um den Inhalt einer vorhandenen Datei abzurufen, CopyFromFile.txt. Die Klammern um das Get-Content Cmdlet stellen sicher, dass der Befehl abgeschlossen wird, bevor der Add-Content Befehl beginnt. Der Value-Parameter übergibt den Inhalt, an Add-Content den die NewFile.txt Datei aktualisiert wird. Das Get-Content Cmdlet zeigt den Inhalt der neuen Datei NewFile.txt an.

Beispiel 6: Hinzufügen von Inhalten zu einer schreibgeschützten Datei

Dieser Befehl fügt den Wert der Datei hinzu, auch wenn das Dateiattribut IsReadOnly auf True festgelegt ist. Die Schritte zum Erstellen einer schreibgeschützten Datei sind im Beispiel enthalten.

New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---        1/28/2019     13:35              0 IsReadOnlyTextFile.txt

Das New-Item Cmdlet verwendet die Parameter Path und ItemType , um die Datei IsReadOnlyTextFile.txt im aktuellen Verzeichnis zu erstellen. Das Set-ItemProperty Cmdlet verwendet die Parameter Name und Value , um die IsReadOnly-Eigenschaft der Datei in True zu ändern. Das Get-ChildItem Cmdlet zeigt an, dass die Datei leer ist (0) und über das schreibgeschützte Attribut (r) verfügt. Das Add-Content Cmdlet verwendet den Path-Parameter , um die Datei anzugeben. Der Value-Parameter enthält die Textzeichenfolge, die an die Datei angefügt werden soll. Der Force-Parameter schreibt den Text in die schreibgeschützte Datei. Das Get-Content Cmdlet verwendet den Path-Parameter , um den Inhalt der Datei anzuzeigen.

Um das schreibgeschützte Attribut zu entfernen, verwenden Sie den Set-ItemProperty Befehl mit dem Wert-Parameter , der auf Falsefestgelegt ist.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

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

-Credential

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, z. B . User01 oder Domain01\User01, oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Get-Credential Cmdlet generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.

Warnung

Dieser Parameter wird von keinem Anbieter unterstützt, der mit PowerShell installiert ist.

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

-Encoding

Gibt den Typ der Codierung für die Zieldatei an. Der Standardwert lautet Default.

Die zulässigen Werte für diesen Parameter sind wie folgt:

  • ASCII Verwendet ASCII (7-Bit)-Zeichensatz.
  • BigEndianUnicode Verwendet UTF-16 mit der Big-Endian-Bytereihenfolge.
  • BigEndianUTF32 Verwendet UTF-32 mit der Big-Endian-Bytereihenfolge.
  • Byte Codiert einen Satz von Zeichen in eine Bytesequenz.
  • Standard Verwendet die Codierung, die der aktiven Codepage des Systems (normalerweise ANSI) entspricht.
  • OEM Verwendet die Codierung, die der aktuellen OEM-Codepage des Systems entspricht.
  • Schnur Identisch mit Unicode.
  • Unicode Verwendet UTF-16 mit der Little-Endian-Bytereihenfolge.
  • Unbekannt Identisch mit Unicode.
  • UTF7 Verwendet UTF-7.
  • UTF8 Verwendet UTF-8.
  • UTF32 Verwendet UTF-32 mit der Little-Endian-Bytereihenfolge.

Die Codierung ist ein dynamischer Parameter, den der FileSystem-Anbieter dem Add-Content Cmdlet hinzufügt. Dieser Parameter funktioniert nur in Dateisystemlaufwerken.

Type:FileSystemCmdletProviderEncoding
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Lässt die angegebenen Elemente aus. Der Wert dieses Parameters qualifiziert den Path-Parameter. Geben Sie ein Path-Element 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 Filter anwendet, wenn Objekte abgerufen werden. Andernfalls verarbeitet PowerShell Filter, nachdem die Objekte abgerufen wurden.

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

-Force

Überschreibt das Schreibschutzattribut, sodass Sie einer schreibgeschützten Datei Inhalt hinzufügen können. Beispielsweise überschreibt Force das Schreibschutzattribut oder erstellt Verzeichnisse zum Vervollständigen eines Dateipfads. Es wird jedoch nicht etwa versucht, Dateiberechtigungen zu ändern.

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

-Include

Fügt nur die angegebenen Elemente hinzu. Der Wert dieses Parameters qualifiziert den Path-Parameter. Geben Sie ein Path-Element 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 den Pfad zu den Elementen an, die den zusätzlichen Inhalt erhalten. Im Gegensatz zu Path wird der Wert von LiteralPath genau so verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

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

-NoNewline

Gibt an, dass dieses Cmdlet keine neue Zeile oder Wagenrücklauf zum Inhalt hinzufüge.

Die Zeichenfolgendarstellungen der Eingabeobjekte werden verkettet, um die Ausgabe zu bilden. Zwischen den Ausgabezeichenfolgen werden keine Leerzeichen oder Zeileneinbrüche eingefügt. Nach der letzten Ausgabezeichenfolge wird kein Zeilenumbruch hinzugefügt.

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

-PassThru

Gibt ein Objekt zurück, das den hinzugefügten Inhalt darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

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

-Path

Gibt den Pfad zu den Elementen an, die den zusätzlichen Inhalt erhalten. Platzhalter sind zulässig. Wenn Sie mehrere Pfade angeben, trennen Sie diese durch Kommas.

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

-Stream

Gibt einen alternativen Datenstrom für Den Inhalt an. Wenn der Stream nicht vorhanden ist, wird er von diesem Cmdlet erstellt. Platzhalterzeichen werden nicht unterstützt.

Stream ist ein dynamischer Parameter, den der FileSystem-Anbieter zu Add-Contenthinzufügt. Dieser Parameter funktioniert nur in Dateisystemlaufwerken.

Sie können das Add-Content Cmdlet verwenden, um den Inhalt des alternativen Datenstroms Zone.Identifier zu ändern. 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.

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

-UseTransaction

Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn gerade eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter about_Transactions.

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

-Value

Gibt den hinzuzufügenden Inhalt an. Geben Sie eine Zeichenfolge in Anführungszeichen ein, z. B. Diese Daten dienen nur zur internen Verwendung, oder geben Sie ein Objekt an, das Inhalt enthält, z. B. das dateTime-Objekt , das Get-Date generiert.

Sie können den Inhalt einer Datei nicht angeben, indem Sie ihren Pfad eingeben, da der Pfad nur eine Zeichenfolge ist. Sie können einen Get-Content Befehl verwenden, um den Inhalt abzurufen und an den Value-Parameter zu übergeben.

Type:Object[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
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

System.Object, System.Management.Automation.PSCredential

Sie können Werte, Pfade oder Anmeldeinformationen an übergeben Set-Content.

Ausgaben

None or System.String

Wenn Sie den PassThru-Parameter verwenden, Add-Content wird ein System.String-Objekt generiert, das den Inhalt darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.

Hinweise

Wenn Sie ein Objekt an Add-Contentübergeben, wird das Objekt in eine Zeichenfolge konvertiert, bevor es dem Element hinzugefügt wird. Der Objekttyp bestimmt das Zeichenfolgenformat, das Format kann jedoch von der Standardanzeige des Objekts abweichen. Verwenden Sie die Formatierungsparameter des sendenden Cmdlets zum Steuern des Zeichenfolgenformats.

Sie können auch auf den Add-Content integrierten Alias verweisen. ac Weitere Informationen finden Sie unter about_Aliases.

Das Add-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.