Sdílet prostřednictvím


Add-Content

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

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>]

Description

Rutina Add-Content připojí obsah k zadané položce nebo souboru. Obsah můžete zadat zadáním obsahu v příkazu nebo zadáním objektu, který obsahuje obsah.

Pokud potřebujete vytvořit soubory nebo adresáře pro následující příklady, přečtěte si téma 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 souboru.

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

Rutina Add-Content používá parametr Path k určení všech souborů .txt v aktuálním adresáři. Parametr Exclude ignoruje názvy souborů, které odpovídají zadanému vzoru. Parametr Value určuje textový řetězec, který se zapíše do souborů.

Obsah těchto souborů zobrazíte pomocí příkazu 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í ho v konzole PowerShellu.

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

Rutina Add-Content použije parametry Path a Value k vytvoření dvou nových souborů v aktuálním adresáři. Parametr Value určuje rutinu Get-Date pro získání data a předá datum do Add-Content. Rutina Add-Content zapíše datum do každého souboru. Parametr PassThru předá objekt, který představuje objekt data. Vzhledem k tomu, že neexistuje žádná jiná rutina pro příjem předaného objektu, 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 připojí ho do jiného souboru.

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

Rutina Add-Content používá parametr Path k určení nového souboru v aktuálním adresáři CopyToFile.txt. Parametr Value používá Get-Content k získání obsahu souboru rutinu , CopyFromFile.txt. Závorky kolem Get-Content rutiny zajišťují, že se příkaz dokončí před jeho zahájením Add-Content . Parametr Value se předá do Add-Content. Rutina Add-Content připojí data k souboru CopyToFile.txt. Rutina Get-Content zobrazí aktualizovaný soubor CopyToFile.txt.

Příklad 4: Použití proměnné k přidání obsahu zadaného souboru do jiného souboru

Tento příklad získá obsah ze souboru a uloží ho do proměnné. Proměnná slouží 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ží ho do $From proměnné . Rutina Add-Content používá parametr Path k určení souboru CopyToFile.txt v aktuálním adresáři. Parametr Value používá proměnnou $From a předá obsah do Add-Content. Rutina Add-Content aktualizuje soubor CopyToFile.txt. Rutina Get-Content zobrazí CopyToFile.txt.

Příklad 5: Create 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žije parametry Path a Value k vytvoření nového souboru v aktuálním adresáři. Parametr Value používá rutinu Get-Content k získání obsahu existujícího souboru CopyFromFile.txt. Závorky kolem Get-Content rutiny zajišťují, že se příkaz dokončí před jeho zahájením Add-Content . Parametr Value předá obsah, do kterého se Add-Content aktualizuje soubor NewFile.txt. Rutina 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á hodnotu souboru i v případě, že isReadOnly atribut souboru je nastaven na True. V příkladu je uvedený postup vytvoření souboru jen pro čtení.

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

Rutina New-Item použije 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 Hodnotu True. Rutina Get-ChildItem ukazuje, že soubor je prázdný (0) a má atribut jen pro čtení (r). Rutina Add-Content použije parametr Path k určení souboru. Parametr Value obsahuje textový řetězec, který se má připojit k souboru. Parametr Force zapíše text do souboru jen pro čtení. Rutina Get-Content pomocí parametru Path zobrazí obsah souboru.

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

Parametry

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

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

-Credential

Určuje uživatelský účet, který má oprávnění k provedení této akce. Ve výchozím nastavení je to aktuální uživatel.

Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential , například objekt vygenerovaný rutinou Get-Credential . Pokud zadáte uživatelské jméno, zobrazí se výzva k zadání hesla.

Upozornění

Tento parametr nepodporují žádné zprostředkovatele nainstalované s PowerShellem.

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

-Encoding

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

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

  • ASCII Používá 7bitovou znakovou sadu ASCII.
  • BigEndianUnicode Používá UTF-16 s pořadím bajtů big-endian.
  • BigEndianUTF32 Používá UTF-32 s pořadím bajtů big-endian.
  • Bajt Zakóduje sadu znaků do posloupnosti bajtů.
  • Výchozí Použije kódování, které odpovídá aktivní znakové stránce systému (obvykle ANSI).
  • OEM Použije kódování, které odpovídá aktuální znakové stránce výrobce OEM systému.
  • Řetězec Stejné jako Unicode.
  • Unicode Používá UTF-16 s pořadím bajtů little-endian.
  • Neznámý Stejné jako Unicode.
  • UTF7 Používá UTF-7.
  • UTF8 Používá UTF-8.
  • UTF32 Používá UTF-32 s pořadím bajtů little-endian.

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

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

Vynechá zadané položky. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například *.txt. Zástupné cardy jsou povolené.

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

-Filter

Určuje filtr ve formátu nebo jazyce zprostředkovatele. Hodnota tohoto parametru kvalifikuje parametr Path . Syntaxe filtru, včetně použití zástupných znaků, závisí na poskytovateli. Filtry jsou efektivnější než jiné parametry, protože zprostředkovatel použije filtry při načítání objektů. V opačném případě powershellové procesy filtrují po načtení objektů.

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

-Force

Přepíše atribut jen pro čtení a umožní přidat obsah do souboru jen pro čtení. Vynucení například přepíše atribut jen pro čtení nebo vytvoří adresáře pro dokončení cesty k souboru, ale nepokusí se změnit oprávnění k souboru.

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

-Include

Přidá pouze zadané položky. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například *.txt. Zástupné cardy jsou povolené.

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

-LiteralPath

Určuje cestu k položkám, které přijímají další obsah. Na rozdíl od path se hodnota LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, že nemá interpretovat žádné znaky jako řídicí sekvence.

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

-NoNewline

Označuje, že tato rutina nepřidává nový řádek nebo návrat na začátek řádku k obsahu.

Řetězcové reprezentace vstupních objektů jsou zřetězeny a tvoří 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.

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

-PassThru

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

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

-Path

Určuje cestu k položkám, které přijímají další obsah. Zástupné cardy jsou povolené. Pokud zadáte více cest, oddělte je čárkami.

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

-Stream

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

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

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

Tento parametr byl zaveden v PowerShellu 3.0.

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

-UseTransaction

Zahrnuje příkaz v aktivní transakci. Tento parametr je platný jenom v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.

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

-Value

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

Obsah souboru nelze zadat zadáním cesty k souboru, protože cesta je pouze řetězec. Pomocí příkazu můžete Get-Content získat obsah a předat ho parametru Value .

Type:Object[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

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

Vstupy

System.Object, System.Management.Automation.PSCredential

Hodnoty, cesty nebo přihlašovací údaje můžete směrovat do Set-Content.

Výstupy

None or System.String

Při použití PassThru parametr vygeneruje Add-ContentSystem.String objekt, který představuje obsah. Jinak tato rutina negeneruje žádný výstup.

Poznámky

Když objekt předáte do Add-Contentobjektu , 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. Pokud chcete řídit formát řetězce, použijte parametry formátování odesílající rutiny.

Můžete také odkazovat Add-Content pomocí předdefinovaných aliasů ac. Další informace najdete v tématu about_Aliases.

Rutina je navržená Add-Content tak, aby fungovala s daty vystavenými libovolným zprostředkovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PSProvider. Další informace najdete v tématu about_Providers.