Fügt den angegebenen Elementen Inhalte hinzu, z. B. das Hinzufügen von Wörtern zu einer Datei.
- Syntax
- Beschreibung
- Beispiele
- Beispiel 1: Fügen Sie allen Textdateien mit einer Ausnahme einen String hinzu
- Beispiel 2: Fügen Sie ein Datum am Ende der angegebenen Dateien hinzu
- Beispiel 3: Hinzufügen des Inhalts einer angegebenen Datei zu einer anderen Datei
- Beispiel 4: Fügen Sie den Inhalt einer angegebenen Datei mithilfe der Pipeline zu einer anderen Datei hinzu
- Beispiel 5: Neue Datei erstellen und Inhalt kopieren
- Beispiel 6: Inhalt einer schreibgeschützten Datei hinzufügen
- Beispiel 7: Filter mit Add-Content verwenden
- Parameter
- Eingänge
- Ausgänge
- Anmerkungen
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 vonCopyFromFile.txt
ab und speichert den Inhalt in der Variablen$From
. - Das
Add-Content
Cmdlet aktualisiert dieCopyToFile.txt
Datei mit dem Inhalt der$From
Variable. - 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 DateiCopyFromFile.txt
ab und übergibt ihn an den Parameter Value. Die Klammern um das CmdletGet-Content
stellen sicher, dass der Befehl beendet wird, bevor der BefehlAdd-Content
beginnt. - Das
Get-Content
Cmdlet zeigt den Inhalt der neuen DateiNewFile.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:\Temp
Verzeichnis hinzu.
Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"
Parameter
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 |
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Pipeline-Eingabe akzeptieren: | False |
platzhalterzeichen: | False |
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 |
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 |
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 |
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 |
Ü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 |
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 |
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 |
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 |
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 |
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 |
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 |
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-Date
generiert.
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 |
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 Aliasac
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 SieGet-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