Sdílet prostřednictvím


Add-Content

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

Syntaxe

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 lze předat z kanálu nebo zadat pomocí parametru Value .

Pokud potřebujete vytvořit soubory nebo adresáře pro následující příklady, přečtěte si téma Nová položka.

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 .txt soubory v aktuálním adresáři, ale parametr Exclude ignoruje názvy souborů, které odpovídají zadanému vzoru. Parametr Value určuje textový řetězec, který je zapsán do souborů.

K zobrazení obsahu těchto souborů použijte funkci 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 rutiny Get-Date . Parametr PassThru vypíše 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 $From proměnné.
  • Rutina Add-Content aktualizuje CopyToFile.txt soubor pomocí obsahu $From proměnné.
  • Rutina 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

Rutina Get-Content získá obsah .CopyFromFile.txt Výsledky se předávají rutině Add-Content , která aktualizuje CopyToFile.txt. Zobrazí se poslední Get-Content rutina 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 parametru Value . Závorky kolem Get-Content rutiny zajišťují, že se příkaz dokončí před zahájením Add-Content příkazu.
  • 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á 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
  • Rutina New-Item používá k vytvoření souboru IsReadOnlyTextFile.txt v aktuálním adresáři parametry Path a ItemType.
  • 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 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 používá k zobrazení obsahu souboru parametr Path .

Chcete-li 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í.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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 úroveň přihlašovacích údajů při spuštění této rutiny, použijte Invoke-Command.

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Encoding

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

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

  • Ascii Používá znakovou sadu ASCII (7bitová).
  • BigEndianUnicode Používá UTF-16 s pořadím velkých bajtů.
  • BigEndianUTF32 Používá UTF-32 s pořadím velkých bajtů.
  • Byte Zakóduje sadu znaků do posloupnosti bajtů.
  • Default Používá kódování odpovídající aktivní znakové stránce systému (obvykle ANSI).
  • Oem Používá kódování odpovídající aktuální znakové stránce OEM systému.
  • String Stejné jako Unicode.
  • Unicode Používá UTF-16 s minimálním pořadím bajtů.
  • Unknown Stejné jako Unicode.
  • UTF7 Používá UTF-7.
  • UTF8 Používá UTF-8.
  • UTF32 Používá UTF-32 s minimálním pořadím bajtů.

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

Typ:FileSystemCmdletProviderEncoding
Přípustné hodnoty:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Position:Named
Default value:Default
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Exclude

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

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-Filter

Určuje filtr, který má kvalifikovat parametr 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.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-Force

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

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Include

Určuje, jako pole řetězců, položku nebo položky, které tato rutina zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, 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 C:\Windows adresáře.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-LiteralPath

Určuje cestu k jednomu nebo více umístěním. Hodnota LiteralPath se 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, aby nepřekládaly žádné znaky jako řídicí sekvence.

Další informace najdete v tématu about_Quoting_Rules.

Typ:String[]
Aliasy:PSPath
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky: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.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PassThru

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

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

Určuje cestu k položkám, které přijímají další obsah. Jsou povoleny zástupné znaky. Cesty musí být cesty 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.

Typ:String[]
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:True

-Stream

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

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

Pomocí této rutiny Add-Content můžete změnit obsah libovolného alternativního datového proudu, 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 stažený soubor je bezpečný, použijte tuto rutinu Unblock-File .

Tento parametr byl představen v PowerShellu 3.0.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-UseTransaction

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

Typ:SwitchParameter
Aliasy:usetx
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Value

Určuje obsah, který se má přidat. Zadejte řetězec s uvozovou sadou, například Tato data, 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. K získání obsahu a jeho předání do parametru Value můžete použít Get-Content příkaz.

Typ:Object[]
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WhatIf

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

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

Object

Hodnoty můžete pipetovat do Add-Content.

PSCredential

Přihlašovací údaje můžete vést na 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

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

  • ac

  • Když předáte objekt Add-Contentdo objektu , 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 parametry formátování odesílající rutiny.

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