Sdílet prostřednictvím


Add-Content

Přidá obsah do zadaných položek, například přidání slov do souboru.

Syntax

Path (Výchozí)

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

LiteralPath

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

Description

Rutina Add-Content připojí obsah k zadané položce nebo souboru. Obsah lze předat z kanálu nebo zadat pomocí parametru Hodnota.

Pokud potřebujete vytvořit soubory nebo adresáře pro následující příklady, přečtěte si New-Item .

Příklady

Příklad 1: Přidání řetězce do všech textových souborů s výjimkou

Tento příklad připojí hodnotu k textovým souborům v aktuálním adresáři, ale vyloučí soubory na základě jejich názvu.

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

Parametr Cesta určuje všechny soubory .txt v aktuálním adresáři, ale parametr Exclude ignoruje názvy souborů, které odpovídají zadanému vzoru. Parametr určuje textový řetězec, který se zapisuje do souborů.

K zobrazení obsahu těchto souborů použijte Get-Content.

Příklad 2: Přidání data na konec zadaných souborů

Tento příklad připojí datum k souborům v aktuálním adresáři a zobrazí datum v konzole PowerShellu.

Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log
Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM

Rutina Add-Content vytvoří v aktuálním adresáři dva nové soubory. Parametr Value obsahuje výstup cmdletu Get-Date. Parametr PassThru předává přidaný obsah do kanálu. Vzhledem k tomu, že neexistuje žádná jiná rutina pro příjem výstupu, zobrazí se v konzole PowerShellu. Rutina Get-Content zobrazí aktualizovaný soubor DateTimeFile1.log.

Příklad 3: Přidání obsahu zadaného souboru do jiného souboru

Tento příklad získá obsah ze souboru a uloží obsah do proměnné. Proměnná se používá k připojení obsahu do jiného souboru.

$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
  • Rutina Get-Content získá obsah CopyFromFile.txt a uloží obsah do proměnné $From.
  • Rutina Add-Content aktualizuje soubor CopyToFile.txt pomocí obsahu proměnné $From.
  • Cmdlet Get-Content zobrazí CopyToFile.txt.

Příklad 4: Přidání obsahu zadaného souboru do jiného souboru pomocí kanálu

Tento příklad získá obsah ze souboru a předá ho do rutiny Add-Content.

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

Cmdlet Get-Content získá obsah CopyFromFile.txt. Výsledky se posílají do cmdletu Add-Content, který aktualizuje CopyToFile.txt. Poslední Get-Content cmdlet zobrazí CopyToFile.txt.

Příklad 5: Vytvoření nového souboru a zkopírování obsahu

Tento příklad vytvoří nový soubor a zkopíruje obsah existujícího souboru do nového souboru.

Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
  • Rutina Add-Content používá parametry Path a Value k vytvoření nového souboru v aktuálním adresáři.
  • Rutina Get-Content získá obsah existujícího souboru CopyFromFile.txt a předá ho do parametru Value. Závorky kolem cmdletu Get-Content zajistí, že se příkaz dokončí, než začne příkaz Add-Content.
  • Cmdlet Get-Content zobrazí obsah nového souboru NewFile.txt.

Příklad 6: Přidání obsahu do souboru jen pro čtení

Tento příkaz přidá do souboru hodnotu, i když je atribut souboru IsReadOnly nastaven na hodnotu True. Kroky k vytvoření souboru jen pro čtení jsou zahrnuty v příkladu.

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
  • Cmdlet New-Item používá parametry Path a ItemType k vytvoření souboru IsReadOnlyTextFile.txt v aktuálním adresáři.
  • Rutina Set-ItemProperty používá parametry Name a Value ke změně vlastnosti IsReadOnly souboru na True.
  • Rutina Get-ChildItem ukazuje, že soubor je prázdný (0) a má atribut jen pro čtení (r).
  • Rutina Add-Content k zadání souboru používá parametr Path. Parametr obsahuje textový řetězec, který má být připojen k souboru. Parametr Force zapíše text do souboru jen pro čtení.
  • Rutina Get-Content používá k zobrazení obsahu souboru parametr Path.

Pokud chcete odebrat atribut jen pro čtení, použijte příkaz Set-ItemProperty s parametrem Value nastaveným na False.

Příklad 7: Použití filtrů s Add-Content

Můžete zadat filtr pro rutinu Add-Content. Při použití filtrů k kvalifikaci parametru Path musíte zahrnout koncovou hvězdičku (*), která označuje obsah cesty.

Následující příkaz přidá slovo "Hotovo" k obsahu všech *.txt souborů v adresáři C:\Temp.

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

Parametry

-AsByteStream

Určuje, že obsah by se měl číst jako datový proud bajtů. Tento parametr byl představen v PowerShellu 6.0.

K upozornění dojde, když použijete parametr AsByteStream s parametrem Encoding. Parametr AsByteStream ignoruje kódování a výstup se vrátí jako datový proud bajtů.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Confirm

Před spuštěním cmdletu vás vyzve k potvrzení.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:viz

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Credential

Poznámka:

Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými v PowerShellu. Pokud chcete zosobnit jiného uživatele nebo zvýšit oprávnění při spuštění této rutiny, použijte Invoke-Command.

Vlastnosti parametru

Typ:PSCredential
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-Encoding

Určuje typ kódování cílového souboru. Výchozí hodnota je utf8NoBOM.

Kódování je dynamický parametr, který zprostředkovatel FileSystem přidá do rutiny Add-Content. Tento parametr funguje jenom na jednotkách systému souborů.

Přijatelné hodnoty pro tento parametr jsou následující:

  • ascii: Používá kódování znakové sady ASCII (7bitová).
  • bigendianunicode: Kóduje ve formátu UTF-16 s použitím pořadí bajtů big-endian.
  • bigendianutf32: Kóduje ve formátu UTF-32 s použitím big-endian bajtového pořadí.
  • oem: Používá výchozí kódování pro MS-DOS a konzolové programy.
  • unicode: Kóduje ve formátu UTF-16 pomocí pořadí malých bajtů.
  • utf7: Kóduje ve formátu UTF-7.
  • utf8: Kóduje ve formátu UTF-8.
  • utf8BOM: Kódování ve formátu UTF-8 pomocí značky pořadí bajtů (BOM)
  • utf8NoBOM: Kódování ve formátu UTF-8 bez značky pořadí bajtů (BOM)
  • utf32: Kóduje ve formátu UTF-32.

Počínaje PowerShellem 6.2 umožňuje parametr Encoding také číselné ID registrovaných znakových stránek (například -Encoding 1251) nebo názvy řetězců registrovaných znakových stránek (například -Encoding "windows-1251"). Další informace naleznete v dokumentaci .NET pro Encoding.CodePage.

Poznámka:

UTF-7* se už nedoporučuje používat. Od PowerShellu 7.1 se zapíše upozornění, pokud pro parametr utf7 zadáte .

Vlastnosti parametru

Typ:Encoding
Default value:UTF8NoBOM
Přípustné hodnoty:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Exclude

Určuje, jako pole řetězců, položku nebo položky, které tento příkaz vylučuje z operace. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například *.txt. Jsou povoleny zástupné znaky. Parametr Exclude je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah adresáře C:\Windows.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Filter

Určuje filtr pro kvalifikaci parametru Path. Zprostředkovatel FileSystem je jediným nainstalovaným poskytovatelem PowerShellu, který podporuje použití filtrů. Syntaxi jazyka filtru FileSystem najdete v about_Wildcards. Filtry jsou efektivnější než jiné parametry, protože je poskytovatel použije, když rutina získá objekty místo toho, aby objekty po jejich načtení vyfiltrovala PowerShell.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Force

Přepíše atribut jen pro čtení, který umožňuje přidat obsah do souboru jen pro čtení. Například Vynutit přepíše atribut jen pro čtení, ale nezmění oprávnění k souborům.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Include

Určuje, jako pole řetězců, jednu nebo více položek, které tento cmdlet zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné znaky. Parametr Include je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah adresáře C:\Windows.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-LiteralPath

Určuje cestu k jednomu nebo více místům. Hodnota LiteralPath se používá přesně tak, jak je zadána. Žádný znak není interpretován jako zástupný znak. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.

Další informace najdete v about_Quoting_Rules.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:PSPath, PO

Sady parametrů

LiteralPath
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-NoNewline

Označuje, že tato rutina nepřidá do obsahu nový řádek ani začátek řádku.

Řetězcové reprezentace vstupních objektů jsou zřetězeny tak, aby vytvořily výstup. Mezi výstupní řetězce se nevkládají žádné mezery ani nové čáry. Za poslední výstupní řetězec se nepřidá žádný nový řádek.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-PassThru

Vrátí objekt představující přidaný obsah. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Path

Určuje cestu k položkám, které přijímají další obsah. Jsou povoleny zástupné znaky. Cesty musí vést k položkám, nikoli ke kontejnerům. Musíte například zadat cestu k jednomu nebo více souborům, nikoli cestě k adresáři. Pokud zadáte více cest, oddělte cesty čárkami.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

Path
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-Stream

Poznámka:

Tento parametr je k dispozici pouze ve Windows.

Určuje alternativní datový proud pro obsah. Pokud stream neexistuje, tato rutina ho vytvoří. Zástupné znaky nejsou podporovány.

Stream je dynamický parametr, který zprostředkovatel FileSystem přidává do Add-Content. Tento parametr funguje jenom na jednotkách systému souborů.

Pomocí rutiny Add-Content můžete změnit obsah jakéhokoli alternativního datového streamu, například Zone.Identifier. Nedoporučujeme to ale jako způsob, jak eliminovat kontroly zabezpečení, které blokují soubory stažené z internetu. Pokud ověříte, že je stažený soubor v bezpečí, použijte rutinu Unblock-File.

Tento parametr byl představen v PowerShellu 3.0. Od PowerShellu 7.2 může Add-Content cílit na alternativní datové proudy v souborech i adresářích.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Value

Určuje obsah, který se má přidat. Zadejte uvozovaný řetězec, například Tato data se používají pouze pro interní použití, nebo zadejte objekt, který obsahuje obsah, například objekt DateTime, který Get-Date generuje.

Obsah souboru nemůžete zadat zadáním jeho cesty, protože cesta je jen řetězec. Obsah můžete získat pomocí příkazu Get-Content a předat ho parametru Value.

Vlastnosti parametru

Typ:

Object[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:True
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-WhatIf

Ukazuje, co se stane, když se příkaz spustí. Cmdlet se nespustil.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:Wi

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

Object

Hodnoty můžete pipetovat do Add-Content.

PSCredential

Můžete předat přihlašovací údaje do Add-Content.

Výstupy

None

Ve výchozím nastavení tato rutina nevrací žádný výstup.

String

Pokud použijete parametr PassThru, vrátí tato rutina objekt System.String představující obsah.

Poznámky

PowerShell obsahuje následující aliasy pro Add-Content:

  • Windows:

    • ac
  • Když předáte objekt do Add-Content, objekt se před jeho přidáním do položky převede na řetězec. Typ objektu určuje formát řetězce, ale formát se může lišit od výchozího zobrazení objektu. K řízení formátu řetězce použijte formátovací parametry odesílací rutiny.

  • Rutina Add-Content je navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem. Chcete-li zobrazit seznam poskytovatelů dostupných ve vaší relaci, napište Get-PSProvider. Pro více informací viz about_Providers.