Megosztás a következőn keresztül:


Set-Content

Új tartalmat ír, vagy lecseréli a fájl meglévő tartalmát.

Syntax

Path (Alapértelmezett)

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 egy sztringfeldolgozó parancsmag, amely új tartalmat ír, vagy lecseréli a fájl tartalmát. Set-Content lecseréli a meglévő tartalmat, és eltér attól a Add-Content parancsmagtól, amely tartalmat fűz egy fájlhoz. Ha tartalmat szeretne küldeni Set-Content használhatja a parancssor Érték paraméterét, vagy tartalmat küldhet a folyamaton keresztül.

Ha a következő példákhoz fájlokat vagy könyvtárakat kell létrehoznia, tekintse meg New-Item.

Példák

1. példa: Több fájl tartalmának cseréje egy könyvtárban

Ez a példa az aktuális könyvtár több fájljának tartalmát cseréli le.

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

A Get-ChildItem parancsmag a Path paraméterrel listáz .txt fájlokat, amelyek az aktuális könyvtárban Test* kezdődnek. A Set-Content parancsmag a Path paramétert használja a Test*.txt fájlok megadásához. Az Érték paraméter a hello, world szöveges sztringet adja meg, amely felváltja az egyes fájlok meglévő tartalmát. A Get-Content parancsmag a Path paraméter használatával adja meg a Test*.txt fájlokat, és megjeleníti az egyes fájlok tartalmát a PowerShell-konzolon.

2. példa: Új fájl létrehozása és tartalom írása

Ez a példa létrehoz egy új fájlt, és beírja az aktuális dátumot és időt a fájlba.

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

Set-Content a Elérési út és Érték paraméterekkel hoz létre egy új, DateTime.txt nevű fájlt az aktuális könyvtárban. Az Value paraméter Get-Date használatával lekéri az aktuális dátumot és időt. Set-Content a DateTime objektumot sztringként írja a fájlba. A Get-Content parancsmag a Path paraméter használatával jeleníti meg a DateTime.txt tartalmát a PowerShell-konzolon.

3. példa: Szöveg cseréje fájlban

Ez a parancs lecseréli a word összes példányát egy meglévő fájlban.

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.

A Get-Content parancsmag a Path paraméter használatával adja meg a Notice.txt fájlt az aktuális könyvtárban. A Get-Content parancs zárójelekkel van burkolva, így a parancs befejeződik, mielőtt elküldené a folyamatot.

A Notice.txt fájl tartalmát a rendszer elküldi a folyamatnak a ForEach-Object parancsmagnak. ForEach-Object az automatikus $_ változót használja, és felváltja Figyelmeztetés minden előfordulását Figyelem. A rendszer elküldi az objektumokat a folyamaton a Set-Content parancsmagnak. Set-Content a Path paraméter használatával adja meg a Notice.txt fájlt, és a frissített tartalmat a fájlba írja.

Az utolsó Get-Content parancsmag megjeleníti a frissített fájltartalmat a PowerShell-konzolon.

4. példa: Szűrők használata Set-Content

Megadhat egy szűrőt a Set-Content parancsmaghoz. Ha szűrőkkel minősíti a Elérési út paramétert, egy záró csillagot (*) kell tartalmaznia az elérési út tartalmának jelzéséhez.

Az alábbi parancs a *.txt könyvtárban lévő összes fájlt üres C:\TempÉrték értékre állítja.

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

Paraméterek

-Confirm

Megerősítést kér a parancsmag futtatása előtt.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Cf

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Credential

Megjegyzés:

Ezt a paramétert a PowerShell-lel telepített szolgáltatók nem támogatják. Ha egy másik felhasználó szerepében szeretne fellépni, vagy emelni szeretné hitelesítő adatait a parancsmag futtatásakor, használja a Invoke-Command.

Paramétertulajdonságok

Típus:PSCredential
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Encoding

Megadja a célfájl kódolási típusát. Az alapértelmezett érték a következő: Alapértelmezett.

A kódolás egy dinamikus paraméter, amelyet a Fájlrendszer-szolgáltató hozzáad Set-Content. Ez a paraméter csak fájlrendszer-meghajtókon működik.

A paraméter elfogadható értékei a következők:

  • ASCII ASCII (7 bites) karakterkészletet használ.
  • BigEndianUnicode UTF-16-ot használ a big-endian bájtsorrenddel.
  • BigEndianUTF32 UTF-32-t használ a big-endian bájtsorrenddel.
  • Bájt bájtok sorozatába kódol egy karaktersorozatot.
  • Alapértelmezett A rendszer aktív kódlapjának (általában ANSI) megfelelő kódolást használja.
  • OEM A rendszer aktuális OEM-kódlapjának megfelelő kódolást használja.
  • Unicode-sztring.
  • Unicode UTF-16-ot használ a kis-endian bájtsorrenddel.
  • Ismeretlen Ugyanaz, mint Unicode.
  • UTF7 UTF-7-et használ.
  • UTF8 UTF-8-at használ.
  • UTF32 UTF-32-t használ a kis végű bájtsorrenddel.

A kódolás egy dinamikus paraméter, amelyet a Fájlrendszer-szolgáltató hozzáad Set-Content. Ez a paraméter csak fájlrendszer-meghajtókon működik.

Paramétertulajdonságok

Típus:FileSystemCmdletProviderEncoding
Alapértelmezett érték:Default
Elfogadott értékek:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Exclude

Sztringtömbként olyan elemet vagy elemeket határoz meg, amelyeket ez a parancsmag kizár a műveletből. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt. A helyettesítő karakterek használata engedélyezett. A Kizárás paraméter csak akkor érvényes, ha a parancs egy elem tartalmát tartalmazza, például C:\Windows\*, ahol a helyettesítő karakter a C:\Windows könyvtár tartalmát adja meg.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Filter

Szűrőt ad meg a útvonal paraméter minősítéséhez. A Fájlrendszer szolgáltató az egyetlen telepített PowerShell-szolgáltató, amely támogatja a szűrők használatát. A FileSystem szűrőnyelvének szintaxisát az about_Wildcards-ban találhatja meg. A szűrők hatékonyabbak, mint a többi paraméter, mivel a szolgáltató akkor alkalmazza őket, amikor a parancsmag lekéri az objektumokat, és nem azt, hogy a PowerShell szűrje az objektumokat a lekérés után.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Force

Kényszeríti a parancsmagot egy fájl tartalmának beállítására, még akkor is, ha a fájl írásvédett. A megvalósítás szolgáltatónként eltérő. További információért lásd a about_Providerscímű részt. A Force paraméter nem bírálja felül a biztonsági korlátozásokat.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Include

Sztringtömbként egy elemet vagy elemet határoz meg, amelyet ez a parancsmag tartalmaz a műveletben. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például "*.txt". A helyettesítő karakterek használata engedélyezett. Az Include paraméter csak akkor érvényes, ha a parancs egy elem tartalmát tartalmazza, például C:\Windows\*, ahol a helyettesítő karakter a C:\Windows könyvtár tartalmát adja meg.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-LiteralPath

Egy vagy több hely elérési útját adja meg. A LiteralPath értéke pontosan a beíráskor használatos. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.

További információk az about_Quoting_Rules oldalon találhatók: .

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:PSPath

Paraméterkészletek

LiteralPath
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-NoNewline

A bemeneti objektumok sztringreprezentációi összefűzve jelennek meg a kimenet létrehozásához. A kimeneti sztringek között nincsenek szóközök vagy új sorok. Az utolsó kimeneti sztring után nincs új vonal hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-PassThru

A tartalmat jelképező objektumot ad vissza. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Path

Megadja a tartalmat fogadó elem elérési útját. A helyettesítő karakterek használata engedélyezett.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

Path
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Stream

Alternatív adatfolyamot ad meg a tartalomhoz. Ha a stream nem létezik, ez a parancsmag hozza létre. A helyettesítő karakterek nem támogatottak.

Stream egy dinamikus paraméter, amelyet a Fájlrendszer szolgáltató hozzáad Set-Content. Ez a paraméter csak fájlrendszer-meghajtókon működik.

A Set-Content parancsmaggal módosíthatja a Zone.Identifier alternatív adatfolyam tartalmát. Ezt azonban nem javasoljuk, hogy kiküszöbölje az internetről letöltött fájlokat letiltó biztonsági ellenőrzéseket. Ha ellenőrzi, hogy egy letöltött fájl biztonságos-e, használja a Unblock-File parancsmagot.

Ezt a paramétert a PowerShell 3.0-ban vezettük be.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UseTransaction

Tartalmazza a parancsot az aktív tranzakcióban. Ez a paraméter csak akkor érvényes, ha egy tranzakció folyamatban van. További információ: about_Transactions.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:usetx

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Value

Megadja az elem új tartalmát.

Paramétertulajdonságok

Típus:

Object[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:1
Kötelező:True
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-WhatIf

Megjeleníti, mi történne, ha a parancsmag futna. A parancsmag nem fut.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Wi

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

Object

Az elem új értékét tartalmazó objektumot Set-Content.

Kimenetek

None or System.String

Ha a PassThru paramétert használja, Set-Content létrehoz egy System.String objektumot, amely a tartalmat jelöli. Ellenkező esetben ez a parancsmag nem hoz létre kimenetet.

Jegyzetek

  • A Set-Content is hivatkozhat a beépített aliasára, sc. További információ: about_Aliases.
  • Set-Content sztringfeldolgozásra tervezték. Ha nem sztringobjektumokat Set-Content, az írás előtt sztringgé alakítja át az objektumot. Ha objektumokat szeretne fájlba írni, használja a Out-File.
  • A Set-Content parancsmag úgy lett kialakítva, hogy bármely szolgáltató által közzétett adatokkal működjön együtt. A munkamenetben elérhető szolgáltatók listájához írja be a Get-PsProvider. További információért lásd a about_Providerscímű részt.