Set-Content
Skriver nytt innehåll eller ersätter befintligt innehåll i en fil.
Syntax
Path (Default) - FileSystem provider
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 - FileSystem provider
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>]
Path (Default) - All providers
Set-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
LiteralPath - All providers
Set-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
Set-Content är en cmdlet för strängbearbetning som skriver nytt innehåll eller ersätter innehållet i en fil.
Set-Content ersätter det befintliga innehållet och skiljer sig från den Add-Content cmdlet som lägger till innehåll i en fil. Om du vill skicka innehåll till Set-Content kan du använda parametern Value på kommandoraden eller skicka innehåll via pipelinen.
Om du behöver skapa filer eller kataloger för följande exempel kan du läsa New-Item.
Exempel
Exempel 1: Ersätt innehållet i flera filer i en katalog
Det här exemplet ersätter innehållet för flera filer i den aktuella katalogen.
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
Cmdleten Get-ChildItem använder parametern Path för att lista .txt filer som börjar med Test* i den aktuella katalogen. Cmdleten Set-Content använder parametern Path för att ange Test*.txt-filerna. Parametern Value innehåller textsträngen Hello, World som ersätter det befintliga innehållet i varje fil. Cmdleten Get-Content använder parametern Path för att ange Test*.txt-filerna och visar varje fils innehåll i PowerShell-konsolen.
Exempel 2: Skapa en ny fil och skriva innehåll
Det här exemplet skapar en ny fil och skriver aktuellt datum och tid till filen.
Set-Content -Path .\DateTime.txt -Value (Get-Date)
Get-Content -Path .\DateTime.txt
1/30/2019 09:55:08
Set-Content använder parametrarna Path och Value för att skapa en ny fil med namnet DateTime.txt i den aktuella katalogen. Parametern Value använder Get-Date för att hämta aktuellt datum och tid.
Set-Content skriver DateTime-objektet till filen som en sträng. Cmdleten Get-Content använder parametern Path för att visa innehållet i DateTime.txt i PowerShell-konsolen.
Exempel 3: Ersätt text i en fil
Det här kommandot ersätter alla instanser av ord i en befintlig fil.
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.
Cmdleten Get-Content använder parametern Path för att ange filen Notice.txt i den aktuella katalogen. Kommandot Get-Content är omslutet med parenteser så att kommandot slutförs innan det skickas nedåt i pipelinen.
Innehållet i Notice.txt-filen skickas ned i pipelinen till cmdleten ForEach-Object.
ForEach-Object använder den automatiska variabeln $_ och ersätter varje förekomst av Varning med Varning. Objekten skickas ned i pipelinen till cmdleten Set-Content.
Set-Content använder parametern Path för att ange Notice.txt-filen och skriver det uppdaterade innehållet till filen.
Den senaste Get-Content-cmdleten visar det uppdaterade filinnehållet i PowerShell-konsolen.
Exempel 4: Använd filter med Set-Content
Du kan ange ett filter för cmdleten Set-Content. När du använder filter för att kvalificera parametern Path måste du inkludera en avslutande asterisk (*) för att ange innehållet i sökvägen.
Följande kommando anger innehållet som alla *.txt filer i katalogen C:\Temp till Value tomt.
Set-Content -Path C:\Temp\* -Filter *.txt -Value "Empty"
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | jfr |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Credential
Anmärkning
Den här parametern stöds inte av några leverantörer som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command.
Parameteregenskaper
| Typ: | PSCredential |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-Encoding
Det här är en dynamisk parameter som görs tillgänglig av FileSystem-providern. Mer information finns i about_FileSystem_Provider.
Anger typen av kodning för målfilen. Standardvärdet är Default.
Kodning är en dynamisk parameter som FileSystem-providern lägger till i Set-Content. Den här parametern fungerar bara på filsystemenheter.
Godkända värden för den här parametern är följande:
-
AsciiAnvänder ASCII-teckenuppsättning (7-bitars). -
BigEndianUnicodeanvänder UTF-16 med den stora byteordningen. -
BigEndianUTF32använder UTF-32 med den stora byteordningen. -
Bytekodar en uppsättning tecken till en sekvens med byte. -
DefaultAnvänder kodningen som motsvarar systemets aktiva kodsida (vanligtvis ANSI). -
OemAnvänder kodningen som motsvarar systemets aktuella OEM-kodsida. -
StringSamma somUnicode. -
UnicodeAnvänder UTF-16 med byteordningen "little-endian". -
UnknownSamma somUnicode. -
UTF7använder UTF-7. -
UTF8använder UTF-8. -
UTF32använder UTF-32 med lite endiansk byteordning.
Kodning är en dynamisk parameter som FileSystem-providern lägger till i Set-Content. Den här parametern fungerar bara på filsystemenheter.
Parameteregenskaper
| Typ: | FileSystemCmdletProviderEncoding |
| Standardvärde: | Default |
| Godkända värden: | ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Exclude
Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten exkluderar i åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel *.txt. Jokertecken tillåts. Parametern Exclude gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i katalogen C:\Windows.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Filter
Anger ett filter för att kvalificera parametern Path. FileSystem-providern är den enda installerade PowerShell-providern som stöder användning av filter. Du hittar syntaxen för FileSystem filterspråk i about_Wildcards. Filter är effektivare än andra parametrar eftersom providern tillämpar dem när cmdleten hämtar objekten i stället för att Låta PowerShell filtrera objekten när de har hämtats.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Force
Tvingar cmdleten att ange innehållet i en fil, även om filen är skrivskyddad. Implementeringen varierar från leverantör till leverantör. Mer information finns i om_Leverantörer. Parametern Force åsidosätter inte säkerhetsbegränsningar.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Include
Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel "*.txt". Jokertecken tillåts. Parametern Include gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i katalogen C:\Windows.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-LiteralPath
Anger en sökväg till en eller flera platser. Värdet för LiteralPath används exakt som det skrivs. Inga tecken tolkas som wildcards. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Mer information finns i about_Quoting_Rules.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | PSPath |
Parameteruppsättningar
LiteralPath
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-NoNewline
Det här är en dynamisk parameter som görs tillgänglig av FileSystem-providern. Mer information finns i about_FileSystem_Provider.
Strängrepresentationerna av indataobjekten sammanfogas för att bilda utdata. Inga blanksteg eller nya radrutor infogas mellan utdatasträngarna. Ingen ny rad läggs till efter den senaste utdatasträngen.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-PassThru
Returnerar ett objekt som representerar innehållet. Som standard genererar den här cmdleten inga utdata.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Path
Anger sökvägen till det objekt som tar emot innehållet. Jokertecken tillåts.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
Path
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-Stream
Det här är en dynamisk parameter som görs tillgänglig av FileSystem-providern. Den här parametern är endast tillgänglig i Windows. Mer information finns i about_FileSystem_Provider.
Anger en alternativ dataström för innehåll. Om strömmen inte finns skapar den här cmdleten den. Jokertecken stöds inte.
Stream är en dynamisk parameter som FileSystem-providern lägger till i Set-Content. Den här parametern fungerar bara på filsystemenheter.
Du kan använda cmdleten Set-Content för att skapa eller uppdatera innehållet i valfri alternativ dataström, till exempel Zone.Identifier. Vi rekommenderar dock inte detta som ett sätt att eliminera säkerhetskontroller som blockerar filer som laddas ned från Internet. Om du kontrollerar att en nedladdad fil är säker använder du cmdleten Unblock-File.
Den här parametern introducerades i PowerShell 3.0.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-UseTransaction
Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_Transactions.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | usetx |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Value
Anger det nya innehållet för objektet.
Parameteregenskaper
| Typ: | Object[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | 1 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-WhatIf
Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Wi |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
Object
Du kan skicka ett objekt som innehåller det nya värdet för objektet till den här cmdleten.
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
String
När du använder parametern PassThru returnerar den här cmdleten en sträng som representerar innehållet.
Kommentarer
Windows PowerShell innehåller följande alias för Set-Content:
scSet-Contentär utformat för strängbearbetning. Om du skicka icke-strängobjekt tillSet-Contentkonverteras objektet till en sträng innan det skrivs. Om du vill skriva objekt till filer använder duOut-File.Cmdleten
Set-Contentär utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver duGet-PSProvider. Mer information finns i om_Leverantörer.