Add-Content

Modul: Microsoft.In: PowerShell.Verwaltung

Fügt den angegebenen Elementen Inhalte hinzu, z. B. das Hinzufügen von Wörtern zu einer Datei.

Syntax

Add-Content <string> <Object> >] >] 
Add-Content <Object> -LiteralPath <string> >] >] 

Beschreibung

Das Add-Content Cmdlet hängt Inhalte an ein bestimmtes Element oder eine Datei an. Sie können den Inhalt angeben, indem Sie den Inhalt in den Befehl eingeben oder ein Objekt angeben, das den Inhalt enthält.

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

Beispiele

Beispiel 1: Fügen Sie allen Textdateien mit einer Ausnahme einen String hinzu

Dieses Beispiel hängt einen Wert an Textdateien im aktuellen Verzeichnis an, schließt jedoch Dateien basierend auf ihrem Dateinamen aus.

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

Der Parameter Path gibt alle .txt Dateien im aktuellen Verzeichnis an, aber der Excludeparameter ignoriert Dateinamen, die dem angegebenen Muster entsprechen. Der Parameter Value gibt die Antextzeichenfolge, die in die Dateien geschrieben wird.

Beispiel 2: Fügen Sie ein Datum am Ende der angegebenen Dateien hinzu

Dieses Beispiel hängt das Datum an Dateien im aktuellen Verzeichnis an und zeigt das Datum in der PowerShell-Konsole an.

Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThruGet-Content -Path .\DateTimeFile1.logTuesday, May 14, 2019 8:24:27 AMTuesday, May 14, 2019 8:24:27 AM5/14/2019 8:24:27 AM

Das Add-Content Cmdlet erstellt zwei neue Dateien im aktuellen Verzeichnis. Der Parameter Value enthältdie Ausgabe des Get-Date Cmdlets. Der Parameter PassThru gibt den hinzugefügten Inhalt an die Pipeline aus.Da kein anderes Cmdlet zum Empfangen der Ausgabe vorhanden ist, wird sie in der PowerShell-Konsole angezeigt.Das Cmdlet Get-Content 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 einer Datei abgerufen und in einer Variablen gespeichert. Die Variable wird verwendet, um den Inhalt an eine andere Datei anzuhängen.

$From = Get-Content -Path .\CopyFromFile.txtAdd-Content -Path .\CopyToFile.txt -Value $FromGet-Content -Path .\CopyToFile.txt
  • Das Cmdlet Get-Content ruft den Inhalt von CopyFromFile.txt ab und speichert den Inhalt in der Variablen$From.
  • Das Add-Content Cmdlet aktualisiert die CopyToFile.txt Datei mit dem Inhalt der $FromVariable.
  • Das Get-Content Cmdlet zeigt CopyToFile an.txt.

Beispiel 4: Fügen Sie den Inhalt einer angegebenen Datei mithilfe der Pipeline zu einer anderen Datei hinzu

Dieses Beispiel ruft den Inhalt einer Datei ab und leitet ihn an das Add-Content Cmdlet weiter.

Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txtGet-Content -Path .\CopyToFile.txt

Das Get-Content Cmdlet ruft den Inhalt von CopyFromFile.txt ab. Die Ergebnisse werden an das CmdletAdd-Content weitergeleitet, das die CopyToFile.txt aktualisiert.Das letzte Get-Content Cmdlet zeigt CopyToFile.txt an.

Beispiel 5: Neue Datei erstellen und Inhalt kopieren

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.
  • Das Cmdlet Get-Content ruft den Inhalt einer vorhandenen Datei CopyFromFile.txtab und übergibt ihn an den Parameter Value. Die Klammern um das Cmdlet Get-Content stellen sicher, dass der Befehl beendet wird, bevor der Befehl Add-Content beginnt.
  • Das Get-Content Cmdlet zeigt den Inhalt der neuen Datei NewFile.txt an.

Beispiel 6: Inhalt einer schreibgeschützten Datei hinzufügen

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

New-Item -Path .\IsReadOnlyTextFile.txt -ItemType FileSet-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $TrueGet-ChildItem -Path .\IsReadOnlyTextFile.txtAdd-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -ForceGet-Content -Path .\IsReadOnlyTextFile.txtMode LastWriteTime Length Name---- ------------- ------ -----ar-- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
  • Das Cmdlet New-Item verwendet die Parameter Path und ItemType, um die DateiIsReadOnlyTextFile.txt im aktuellen Verzeichnis zu erstellen.
  • Das Set-ItemProperty Cmdlet verwendet die Parameter Name und Value, um die Eigenschaft Fileisreadonly auf True zu ändern.
  • Das Get-ChildItem Cmdlet zeigt an, dass die Datei leer ist (0) und das schreibgeschützte Attribut hat (r).
  • Das Add-Content Cmdlet verwendet den Parameter Path, um die Datei anzugeben. Der Wert parameterincludes die Textzeichenfolge an die Datei anzuhängen. Der Force-Parameter schreibt den Text in die schreibgeschützte Datei.
  • Das Get-Content Cmdlet verwendet den Parameter Path, um den Inhalt der Datei anzuzeigen.

Um das schreibgeschützte Attribut zu entfernen, verwenden Sie den Befehl Set-ItemProperty mit dem Wert parameterset auf False.

Beispiel 7: Filter mit Add-Content verwenden

Sie können einen Filter für das Add-Content Cmdlet angeben. Wenn Sie Filter verwenden, um den Pfadparameter zu qualifizieren, müssen Sie ein abschließendes Sternchen (*) einfügen, um den Inhalt des Pfads anzugeben.

Der folgende Befehl fügt das Wort „Done“ dem Inhalt aller *.txt Dateien im C:\TempVerzeichnis hinzu.

Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"

Parameter

-AsByteStream

Gibt an, dass der Inhalt als Bytestrom gelesen werden soll. Dieser Parameter wurde in eingeführtpowershell 6.0.

Eine Warnung wird angezeigt, wenn Sie den Parameter AsByteStream mit dem Parameter Encoding verwenden. TheAsByteStream parameter ignores any encoding and the output is returned as a stream of bytes.

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

Prompts you for confirmation before running the cmdlet.

Type: SwitchParameter
Aliase: cf
Position: Named
Standardwert: False
Pipeline-Eingabe akzeptieren: False
platzhalterzeichen: False
-Credential

Hinweis

Dieser Parameter wird von keinem Anbieter unterstützt, der mit PowerShell.To geben Sie sich als anderer Benutzer aus oder erhöhen Sie Ihre Anmeldeinformationen, wenn Sie dieses Cmdlet ausführen.

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

Specifies the type of encoding for the target file. The default value is utf8NoBOM.

Encoding is a dynamic parameter that the FileSystem provider adds to the Add-Content cmdlet. Dieser Parameter funktioniert nur in Dateisystemlaufwerken.

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

  • ascii: Verwendet die Codierung für den ASCII-Zeichensatz (7 Bit).
  • bigendianunicode: Kodiert im UTF-16-Format in der Big-Endian-Bytereihenfolge.
  • bigendianutf32: Kodiert im UTF-32-Format in der Big-Endian-Bytereihenfolge.
  • oem: Verwendet die Standardcodierung für MS-DOS- und Konsolenprogramme.
  • unicode: Codiert im UTF-16-Format mit der Little-Endian-Bytereihenfolge.
  • utf7: Kodiert im UTF-7-Format.
  • utf8: Kodiert im UTF-8-Format.
  • utf8BOM: Kodiert im UTF-8-Format mit Byte Order Mark (BOM)
  • utf8NoBOM: Kodiert im UTF-8-Format ohne Byte Order Mark (BOM)
  • utf32: Kodiert im UTF-32-Format.

Beginnend mit PowerShell 6.2 erlaubt der Encoding-Parameter auch numerische IDs registrierter Codepages (wie -Encoding 1251) oder String-Namen registrierter Codepages (wie-Encoding "windows-1251"). Weitere Informationen finden Sie in der .NET-Dokumentation forEncoding.zeichenumsetztabelle.

Hinweis

UTF-7* wird nicht mehr empfohlen. In PowerShell 7.1 wird eine Warnung geschrieben, wenn Siespezifizieren Sie utf7 für den Codierungsparameter.

Typ: Kodierung
Akzeptierte Werte: ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position: Named
Default value: UTF8NoBOM
Accept pipeline input: False
Accept wildcard characters: False

-Exclude

Specifies, as a string array, an item or items that this cmdlet excludes in the operation. The valueof this parameter qualifies the Path parameter. Geben Sie ein Pfadelement oder -muster ein, z. B.*.txt. Platzhalterzeichen sind zulässig. Der Parameter Exclude ist nur wirksam, wenn der Befehl den Inhalt eines Elements enthält, z. B. C:\Windows\*, wobei das Platzhalterzeichen den Inhalt des Verzeichnisses C:\Windows angibt.

Typ: String
Position: Benannt
Standardwert: Keine
Pipeline-Eingabe akzeptieren: False
Platzhalterzeichen akzeptieren: True
-Filter

Gibt einen Filter zur Qualifizierung des Pfadparameters an. Der FileSystemprovider ist der einzige installierte PowerShell-Anbieter, der die Verwendung von Filtern unterstützt. Die Syntax für die Filtersprache des Dateisystems finden Sie in about_Wildcards.Filter sind effizienter als andere Parameter, da der Anbieter sie anwendet, wenn das Cmdlet die Objekte abruft, anstatt dass PowerShell die Objekte nach dem Abrufen filtert.

Typ: Zeichenfolge
Position: Named
Standardwert: Keine
Pipeline-Eingabe akzeptieren: False
Platzhalterzeichen akzeptieren: True
-Force

Überschreibt das schreibgeschützte Attribut, sodass Sie einer schreibgeschützten Datei Inhalt hinzufügen können. Beispielsweise überschreibt Force das schreibgeschützte Attribut oder erstellt Verzeichnisse, um einen Dateipfad zu vervollständigen, aber es wird nicht versucht, die Dateiberechtigungen zu ändern.

Typ: Schalterparameter
Position: Named
Standardwert: Keine
Pipeline-Eingabe akzeptieren: False
Platzhalterzeichen akzeptieren: False
-Include

Gibt als String-Array ein Element oder Elemente an, die dieses Cmdlet in den Vorgang einbezieht. Der Wert dieses Parameters qualifiziert den Parameter Path. Geben Sie ein Pfadelement oder Muster ein, z. B."*.txt". Platzhalterzeichen sind zulässig. Der Include-Parameter ist nur wirksam, wenn der Befehl den Inhalt eines Elements enthält, z. B. C:\Windows\*, wobei das Platzhalterzeichen den Inhalt des C:\Windows -Verzeichnisses angibt.

Typ: String
Position: Benannt
Standardwert: Keine
Pipeline-Eingabe akzeptieren: False
Platzhalterzeichen akzeptieren: True
-LiteralPath

Gibt einen Pfad zu einem oder mehreren Speicherorten an. Der Wert von LiteralPath wird genau so verwendet, wie er eingegeben wurde. Keine Zeichen werden als Platzhalter interpretiert. Wenn der Pfad Escape-Zeichen enthält, schließen Siees in einfachen Anführungszeichen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escape-Sequenzen zu interpretieren.

Weitere Informationen finden Sie unter about_Quoting_Rules.

Typ: Zeichenfolge
Aliase: PSPath, LP
Position: Benannt
Standardwert: Keine
Pipeline-Eingabe akzeptieren: True
Platzhalterzeichen akzeptieren: False

-NoNewline

Gibt an, dass dieses Cmdlet dem Inhalt keine neue Zeile oder keinen Wagenrücklauf hinzufügt.

Die Zeichenfolgendarstellungen der Eingabeobjekte werden zur Ausgabe verkettet. Zwischen den Ausgabezeichenfolgen werden keine Leerzeichen oder Zeilenumbrüche eingefügt. Nach der letzten Ausgabezeichenfolge wird kein Zeilenumbruch hinzugefügt.

Typ: Schalterparameter
Position: Benannt
Standardwert: Keine
Pipeline-Eingabe akzeptieren: False
Platzhalterzeichen akzeptieren: False
-PassThru

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

Typ: SwitchParameter
Position: Benannt
Standardwert: Keine
Pipeline-Eingabe akzeptieren: False
Platzhalterzeichen akzeptieren: False
-Path

Gibt den Pfad zu den Elementen an, die den zusätzlichen Inhalt erhalten.Platzhalterzeichen sind zulässig.Die Pfade müssen Pfade zu Elementen und nicht zu Containern sein.Sie müssen beispielsweise einen Pfad zu einer oder mehreren Dateien angeben, keinen Pfad zu einem Verzeichnis.Wenn Sie mehrere Pfade angeben, trennen Sie die Pfade durch Kommas.

Typ: String
Position: 0
Standardwert: Keine
Pipeline-Eingabe akzeptieren: True
Platzhalterzeichen akzeptieren: True
-Stream

Hinweis

Dieser Parameter ist nur unter Windows verfügbar.

Gibt einen alternativen Datenstrom für Inhalte an. Wenn der Stream nicht vorhanden ist, erstellt dieses Cmdletesit. Platzhalterzeichen werden nicht unterstützt.

Stream ist ein dynamischer Parameter, den der Dateisystemanbieter Add-Content hinzufügt. Dieser Parameter funktioniert nur in Dateisystemlaufwerken.

Mit dem Cmdlet Add-Content können Sie den Inhalt eines beliebigen alternatedata-Streams ändern, z. B. Zone.Identifier. Wir empfehlen dies jedoch nichtals Weg, 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 CmdletUnblock-File.

This parameter was introduced in PowerShell 3.0.

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

Specifies the content to be added. Geben Sie eine Zeichenfolge in Anführungszeichen ein, z. B. This data is for internal useonly, oder geben Sie ein Objekt an, das Inhalt enthält, z. B. das DateTime-Objekt, das Get-Dategeneriert.

Sie können den Inhalt einer Datei nicht angeben, indem Sie den 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.

Typ: Objekt
Position: 1
Standardwert: Keine
Pipeline-Eingabe akzeptieren: True
Accept wildcard characters: False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

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

Eingänge

System.Objekt, System.Management.Automatisierung.PSCredential

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

Ausgänge

Keine oder System.String

Wenn Sie den Parameter PassThru verwenden, generiert Add-Content ein System.String-Objekt, dasrepräsentiert den Inhalt. Andernfalls generiert dieses Cmdlet keine Ausgabe.

Anmerkungen

  • Wenn Sie ein Objekt über die Pipeline 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 Cmdlets Senden, um das Zeichenfolgenformat zu steuern.
  • Sie können auch auf Add-Content durch seinen eingebauten Alias ac verweisen. Weitere Informationen finden Sie unterabout_aliases.
  • Das Add-Content Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter bereitgestellt werden. Geben Sie Get-PSProvider ein, um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten. Weitere Informationen finden Sie unterabout_providers.
  • about_Aliases
  • about_Providers
  • Inhalt löschen
  • Inhalt abrufen
  • Get-Item
  • Neues Element
  • Inhalt festlegen

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.