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ů.
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-Contentzíská obsahCopyFromFile.txta uloží obsah do proměnné$From. - Rutina
Add-Contentaktualizuje souborCopyToFile.txtpomocí obsahu proměnné$From. - Cmdlet
Get-Contentzobrazí 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-Contentpoužívá parametry Path a Value k vytvoření nového souboru v aktuálním adresáři. - Rutina
Get-Contentzíská obsah existujícího souboruCopyFromFile.txta předá ho do parametru Value. Závorky kolem cmdletuGet-Contentzajistí, že se příkaz dokončí, než začne příkazAdd-Content. - Cmdlet
Get-Contentzobrazí obsah nového souboruNewFile.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-Itempoužívá parametry Path a ItemType k vytvoření souboruIsReadOnlyTextFile.txtv aktuálním adresáři. - Rutina
Set-ItemPropertypoužívá parametry Name a Value ke změně vlastnosti IsReadOnly souboru na True. - Rutina
Get-ChildItemukazuje, že soubor je prázdný (0) a má atribut jen pro čtení (r). - Rutina
Add-Contentk 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-Contentpouží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-Contentje navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem. Chcete-li zobrazit seznam poskytovatelů dostupných ve vaší relaci, napišteGet-PSProvider. Pro více informací viz about_Providers.