Set-Content
Új tartalmat ír, vagy lecseréli a fájl meglévő tartalmát.
Syntax
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>]
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>]
Set-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
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álja a parancssor Érték paraméterét, vagy küldjön tartalmat a folyamaton keresztül.
Ha az alábbi példákhoz fájlokat vagy könyvtárakat kell létrehoznia, tekintse meg az Új elem című témakört.
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 az Elérési út paraméterrel listáz .txt fájlokat, amelyek az aktuális könyvtárban kezdődnek Test*
. A Set-Content
parancsmag a Path paraméter használatával adja meg a Test*.txt
fájlokat. 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
Az Elérési út és érték paraméterek használatával hozzon létre egy új, DateTime.txt nevű fájlt az aktuális könyvtárban. Az Érték paraméter az aktuális dátum és idő lekérésére használja Get-Date
.
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 a Figyelmeztetés minden előfordulását lecseréli a Figyelem gombra. A rendszer elküldi az objektumokat a folyamatnak 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 használatával
A parancsmaghoz Set-Content
szűrőt is megadhat. Ha szűrőkkel minősíti az 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 könyvtár összes *.txt
fájljának C:\Temp
tartalmát üres értékre állítja.
Set-Content -Path C:\Temp\* -Filter *.txt -Value "Empty"
Paraméterek
-AsByteStream
Ez a fájlrendszer-szolgáltató által elérhetővé tett dinamikus paraméter. További információ: about_FileSystem_Provider.
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 jelenik meg, ha az AsByteStream paramétert a Kódolás paraméterrel használja. Az AsByteStream paraméter figyelmen kívül hagy minden kódolást, és a kimenet bájtfolyamként van megírva.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Feljegyzés
Ezt a paramétert a PowerShell-lel telepített szolgáltatók nem támogatják. Ha megszemélyesíteni szeretne egy másik felhasználót, vagy a parancsmag futtatásakor emeli a hitelesítő adatait, használja az Invoke-Command parancsot.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
Ez a fájlrendszer-szolgáltató által elérhetővé tett dinamikus paraméter. További információ: about_FileSystem_Provider.
Megadja a célfájl kódolási típusát. Az alapértelmezett érték utf8NoBOM
.
A kódolás egy dinamikus paraméter, amelyet a Fájlrendszer-szolgáltató ad hozzá 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.ansi
: Az aktuális kultúra ANSI-kódlapjának kódolását használja. Ez a beállítás a PowerShell 7.4-ben lett hozzáadva.bigendianunicode
: UTF-16 formátumban kódolja a big-endian bájtsorrendet.bigendianutf32
: UTF-32 formátumban kódolja a big-endian bájtsorrendet.oem
: Az MS-DOS és a konzolprogramok alapértelmezett kódolását használja.unicode
: UTF-16 formátumban kódolja a kis végű bájtsorrendet.utf7
: UTF-7 formátumban kódol.utf8
: UTF-8 formátumban kódol.utf8BOM
: UTF-8 formátumban kódol byte order mark (BOM)utf8NoBOM
: UTF-8 formátumban kódol byte order mark (BOM) nélkülutf32
: 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.
A PowerShell 7.4-től kezdve a Ansi
Kódolás paraméter értékével anélkül adhat meg numerikus azonosítót az aktuális kultúra ANSI-kódlapjához, hogy manuálisan kellene megadnia.
Feljegyzés
Az UTF-7* már nem ajánlott. A PowerShell 7.1-ről figyelmeztetést ír, ha utf7
megadja a Kódolás paramétert.
Type: | Encoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | utf8NoBOM |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 az 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\*
ha a helyettesítő karakter a könyvtár tartalmát C:\Windows
adja meg.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Egy szűrőt ad meg, amely megfelel az Elérési út paraméternek. A Fájlrendszer-szolgáltató az egyetlen telepített PowerShell-szolgáltató, amely támogatja a szűrők használatát. A Fájlrendszer szűrőnyelvének szintaxisa about_Wildcards található. 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-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ó: about_Providers. A Force paraméter nem bírálja felül a biztonsági korlátozásokat.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 az 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\*
amikor a helyettesítő karakter a könyvtár tartalmát C:\Windows
adja meg.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Egy vagy több hely elérési útját adja meg. A LiteralPath értékét pontosan a beírt módon használja a rendszer. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz escape karaktereket, csatolja egy idézőjelek közé. Az idézőjelek azt mondják a PowerShellnek, hogy ne értelmezzen karaktereket feloldósorozatként.
További információ: about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoNewline
Ez a fájlrendszer-szolgáltató által elérhetővé tett dinamikus paraméter. További információ: about_FileSystem_Provider.
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 vonalak. Az utolsó kimeneti sztring után nincs új vonal hozzáadva.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
A tartalmat jelképező objektumot ad vissza. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Megadja a tartalmat fogadó elem elérési útját. A helyettesítő karakterek használata engedélyezett.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Stream
Ez a fájlrendszer-szolgáltató által elérhetővé tett dinamikus paraméter. Ez a paraméter csak Windows rendszeren érhető el. További információ: about_FileSystem_Provider.
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.
A 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 Set-Content
beállíthatja a könyvtárakból és fájlokból származó alternatív adatfolyamok tartalmát.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Megadja az elem új tartalmát.
Type: | Object[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Bevitelek
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.
A PassThru paraméter használatakor ez a parancsmag a tartalmat képviselő sztringet adja vissza.
Jegyzetek
Set-Content
sztringfeldolgozásra tervezték. Ha nem sztring típusú objektumokat csövezSet-Content
, az írás előtt sztringgé alakítja át az objektumot. Ha objektumokat szeretne fájlba írni, használjaOut-File
a .- 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 következőtGet-PsProvider
: További információ: about_Providers.
Kapcsolódó hivatkozások
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: