Set-Content
Új tartalmat ír, vagy lecseréli a fájl meglévő tartalmát.
Syntax
Path (Default) - FileSystem provider
Set-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 - FileSystem provider
Set-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <string>]
[<CommonParameters>]
Path (Default) - All providers
Set-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
LiteralPath - All providers
Set-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<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 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
-AsByteStream
Ez a FileSystem szolgáltató által elérhetővé tett dinamikus paraméter. Lásd about_FileSystem_Providera további információkért.
Megadja, hogy a tartalmat bájtok adatfolyamaként kell-e írni. Ezt a paramétert a PowerShell 6.0-ban vezettük be.
Figyelmeztetés akkor fordul elő, ha a AsByteStream paramétert használja a Kódolás paraméterrel. Az AsByteStream paraméter figyelmen kívül hagyja a kódolást, és a kimenet bájtfolyamként van megírva.
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 |
-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
Ez a FileSystem szolgáltató által elérhetővé tett dinamikus paraméter. Lásd about_FileSystem_Providera további információkért.
Megadja a célfájl kódolási típusát. Az alapértelmezett érték a utf8NoBOM.
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: Az ASCII (7 bites) karakterkészlet kódolását használja. -
bigendianunicode: Az UTF-16 formátumú kódolást a big-endian bájtsorrend alkalmazásával végzi. -
bigendianutf32: UTF-32 formátumban kódol nagyvégű bájtsorrend használatával. -
oem: Az alapértelmezett kódolást használja MS-DOS és konzolprogramokhoz. -
unicode: Az UTF-16 formátumban kódol kis végű bájtsorrend használatával. -
utf7: UTF-7 formátumban kódol. -
utf8: UTF-8 formátumban kódol. -
utf8BOM: UTF-8 formátumban kódolódik bájt sorrendi jel (BOM) használatával -
utf8NoBOM: UTF-8 formátumban kódol byte order mark (BOM) nélkül -
utf32: UTF-32 formátumban kódol.
A PowerShell 6.2-től kezdődően a Kódolás paraméter lehetővé teszi a regisztrált kódlapok (például -Encoding 1251) numerikus azonosítóit vagy a regisztrált kódlapok sztringneveit (például -Encoding "windows-1251"). További információt a Encoding.CodePage.NET-dokumentációjában talál.
Megjegyzés:
UTF-7* már nem ajánlott. PowerShell 7.1-től kezdve figyelmeztetés jelenik meg, ha utf7-et ad meg a kódolás paraméterhez.
Paramétertulajdonságok
| Típus: | Encoding |
| Alapértelmezett érték: | utf8NoBOM |
| Elfogadott értékek: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, 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, LP |
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
Ez a FileSystem szolgáltató által elérhetővé tett dinamikus paraméter. Lásd about_FileSystem_Providera további információkért.
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
Ez a FileSystem szolgáltató által elérhetővé tett dinamikus paraméter. Ez a paraméter csak Windows rendszeren érhető el. Lásd about_FileSystem_Providera további információkért.
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 létrehozhatja vagy frissítheti bármely alternatív adatfolyam tartalmát, például Zone.Identifier. 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. A PowerShell 7.2-től kezdve a Set-Content beállíthatja a könyvtárakból és fájlokból származó alternatív adatfolyamok tartalmát.
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 |
-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
A parancsmagba az elem új értékét tartalmazó objektumot csövezheti.
Kimenetek
None
Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.
String
A PassThru paraméter használatakor ez a parancsmag a tartalmat képviselő sztringet adja vissza.
Jegyzetek
-
Set-Contentsztringfeldolgozásra tervezték. Ha nem sztringobjektumokatSet-Content, az írás előtt sztringgé alakítja át az objektumot. Ha objektumokat szeretne fájlba írni, használja aOut-File. - A
Set-Contentparancsmag ú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 aGet-PsProvider. További információért lásd a about_Providerscímű részt.