Sdílet prostřednictvím


Set-Content

Zapíše nový obsah nebo nahradí existující obsah v souboru.

Syntax

Path (Výchozí)

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

LiteralPath

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

Set-Content je rutina pro zpracování řetězců, která zapisuje nový obsah nebo nahrazuje obsah v souboru. Set-Content nahradí existující obsah a liší se od rutiny Add-Content, která připojuje obsah k souboru. K odesílání obsahu do Set-Content můžete použít parametr Hodnota na příkazovém řádku nebo odeslat obsah prostřednictvím kanálu.

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: Nahrazení obsahu více souborů v adresáři

Tento příklad nahrazuje obsah více souborů v aktuálním adresáři.

Get-ChildItem -Path .\Test*.txt
Test1.txt
Test2.txt
Test3.txt
Set-Content -Path .\Test*.txt -Value 'Hello, World'
Get-Content -Path .\Test*.txt
Hello, World
Hello, World
Hello, World

Rutina Get-ChildItem používá parametr Path k výpisu .txt souborů, které začínají Test* v aktuálním adresáři. Rutina Set-Content používá k určení souborů parametr Test*.txt. Parametr hodnota poskytuje textový řetězec Hello, World, který nahradí existující obsah v každém souboru. Rutina Get-Content pomocí parametru Cesta určuje soubory Test*.txt a zobrazí obsah jednotlivých souborů v konzole PowerShellu.

Příklad 2: Vytvoření nového souboru a zápis obsahu

Tento příklad vytvoří nový soubor a zapíše aktuální datum a čas do souboru.

Set-Content -Path .\DateTime.txt -Value (Get-Date)
Get-Content -Path .\DateTime.txt
1/30/2019 09:55:08

Set-Content používá parametry Path a Value k vytvoření nového souboru s názvem DateTime.txt v aktuálním adresáři. Parametr hodnoty používá k získání aktuálního data a času . Set-Content zapíše objekt DateTime do souboru jako řetězec. Rutina Get-Content používá parametr Path k zobrazení obsahu DateTime.txt v konzole PowerShellu.

Příklad 3: Nahrazení textu v souboru

Tento příkaz nahradí všechny instance slova v existujícím souboru.

Get-Content -Path .\Notice.txt
Warning
Replace Warning with a new word.
The word Warning was replaced.
(Get-Content -Path .\Notice.txt) |
    ForEach-Object {$_ -Replace 'Warning', 'Caution'} |
        Set-Content -Path .\Notice.txt
Get-Content -Path .\Notice.txt
Caution
Replace Caution with a new word.
The word Caution was replaced.

Rutina Get-Content používá parametr Path k určení souboru Notice.txt v aktuálním adresáři. Příkaz Get-Content se zabalí do závorek, aby se příkaz dokončil před odesláním kanálu.

Obsah souboru Notice.txt se odešle do kanálu do rutiny ForEach-Object. ForEach-Object používá automatickou proměnnou $_ a nahradí každý výskyt upozornění Upozornění. Objekty se odesílají do Set-Content rutiny. Set-Content použije parametr Path k určení souboru Notice.txt a zapíše aktualizovaný obsah do souboru.

Poslední Get-Content rutina zobrazí aktualizovaný obsah souboru v konzole PowerShellu.

Příklad 4: Použití filtrů s Set-Content

Můžete zadat filtr pro rutinu Set-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 nastaví obsah všech *.txt souborů v adresáři C:\Temp na hodnotu hodnota prázdné.

Set-Content -Path C:\Temp\* -Filter *.txt -Value "Empty"

Parametry

-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 Default.

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

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ů.
  • Bajt Zakóduje sadu znaků do posloupnosti bajtů.
  • Výchozí 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.
  • řetězec stejné jako unicode.
  • Unicode používá UTF-16 s minimálním pořadím bajtů.
  • neznámé stejné jakounicode .
  • UTF7 používá UTF-7.
  • UTF8 používá UTF-8.
  • UTF32 používá UTF-32 s malým pořadím bajtů.

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

Vlastnosti parametru

Typ:FileSystemCmdletProviderEncoding
Default value:Default
Přípustné hodnoty:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, 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í vyfiltroval 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

Vynutí rutinu nastavit obsah souboru, i když je soubor jen pro čtení. Implementace se liší od zprostředkovatele po zprostředkovatele. Pro více informací viz about_Providers. Parametr Force nepřepíše omezení zabezpečení.

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

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

Ř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, který představuje 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žce, která přijímá obsah. Jsou povoleny zástupné znaky.

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

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 Set-Content. Tento parametr funguje jenom na jednotkách systému souborů.

Pomocí rutiny Set-Content můžete změnit obsah Zone.Identifier alternativní datový proud. 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.

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

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

Vlastnosti parametru

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

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 nový obsah položky.

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í. Příkazový modul nebyl spuštěn.

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

Objekt, který obsahuje novou hodnotu položky, která se má Set-Content, lze pipetovat .

Výstupy

None or System.String

Pokud použijete parametr PassThru, Set-Content vygeneruje objekt System.String, který představuje obsah. Jinak tento příkaz negeneruje žádný výstup.

Poznámky

  • Můžete také odkazovat na Set-Content jeho předdefinovaný alias sc. Další informace viz about_Aliases.
  • Set-Content je určená ke zpracování řetězců. Pokud před zápisem převedete neřetězcové objekty na Set-Content, převede objekt na řetězec. K zápisu objektů do souborů použijte Out-File.
  • Rutina Set-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.