Add-Content
Lägger till innehåll i de angivna objekten, till exempel att lägga till ord i en fil.
Syntax
Add-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <string>]
[<CommonParameters>]
Add-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <string>]
[<CommonParameters>]
Description
Cmdleten Add-Content
lägger till innehåll i ett angivet objekt eller en fil. Innehåll kan skickas från pipelinen eller anges med hjälp av parametern Värde .
Om du behöver skapa filer eller kataloger för följande exempel kan du läsa Nytt objekt.
Exempel
Exempel 1: Lägg till en sträng i alla textfiler med undantag
Det här exemplet lägger till ett värde i textfiler i den aktuella katalogen, men exkluderar filer baserat på deras filnamn.
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
Parametern Sökväg anger alla .txt
filer i den aktuella katalogen, men parametern Exkludera ignorerar filnamn som matchar det angivna mönstret. Parametern Värde anger textsträngen som skrivs till filerna.
Använd Get-Content för att visa innehållet i dessa filer.
Exempel 2: Lägg till ett datum i slutet av de angivna filerna
I det här exemplet läggs datumet till i filer i den aktuella katalogen och datumet visas i PowerShell-konsolen.
Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log
Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM
Cmdleten Add-Content
skapar två nya filer i den aktuella katalogen. Parametern Value innehåller utdata från cmdleten Get-Date
. Parametern PassThru matar ut det tillagda innehållet i pipelinen. Eftersom det inte finns någon annan cmdlet som tar emot utdata visas den i PowerShell-konsolen. Cmdleten Get-Content
visar den uppdaterade filen , DateTimeFile1.log
.
Exempel 3: Lägg till innehållet i en angiven fil i en annan fil
Det här exemplet hämtar innehållet från en fil och lagrar innehållet i en variabel. Variabeln används för att lägga till innehållet i en annan fil.
$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
- Cmdleten
Get-Content
hämtar innehållet iCopyFromFile.txt
och lagrar innehållet i variabeln$From
. - Cmdleten
Add-Content
CopyToFile.txt
uppdaterar filen med hjälp av innehållet i variabeln$From
. - Cmdleten
Get-Content
visar CopyToFile.txt.
Exempel 4: Lägg till innehållet i en angiven fil i en annan fil med pipelinen
Det här exemplet hämtar innehållet från en fil och skickar det till cmdleten Add-Content
.
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt
Cmdleten Get-Content
hämtar innehållet i CopyFromFile.txt
. Resultatet skickas till cmdleten Add-Content
, som uppdaterar CopyToFile.txt
.
Den sista Get-Content
cmdleten visar CopyToFile.txt
.
Exempel 5: Skapa en ny fil och kopiera innehåll
Det här exemplet skapar en ny fil och kopierar en befintlig fils innehåll till den nya filen.
Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
- Cmdleten
Add-Content
använder parametrarna Sökväg och Värde för att skapa en ny fil i den aktuella katalogen. - Cmdleten
Get-Content
hämtar innehållet i en befintlig filCopyFromFile.txt
och skickar den till parametern Value . Parenteserna runt cmdletenGet-Content
ser till att kommandot slutförs innanAdd-Content
kommandot börjar. - Cmdleten
Get-Content
visar innehållet i den nya filen,NewFile.txt
.
Exempel 6: Lägga till innehåll i en skrivskyddad fil
Det här kommandot lägger till ett värde i filen även om filattributet IsReadOnly är inställt på Sant. Stegen för att skapa en skrivskyddad fil ingår i exemplet.
New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar-- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
- Cmdleten
New-Item
använder parametrarna Path och ItemType för att skapa filenIsReadOnlyTextFile.txt
i den aktuella katalogen. - Cmdleten
Set-ItemProperty
använder parametrarna Namn och Värde för att ändra filens IsReadOnly-egenskap till True. - Cmdleten
Get-ChildItem
visar att filen är tom (0
) och har det skrivskyddade attributet (r
). - Cmdleten
Add-Content
använder parametern Path för att ange filen. Parametern Värde innehåller textsträngen som ska läggas till i filen. Parametern Force skriver texten till den skrivskyddade filen. - Cmdleten
Get-Content
använder parametern Path för att visa filens innehåll.
Om du vill ta bort det skrivskyddade attributet använder du Set-ItemProperty
kommandot med parametern Value inställd på False
.
Exempel 7: Använda filter med tilläggsinnehåll
Du kan ange ett filter för cmdleten Add-Content
. När du använder filter för att kvalificera sökvägsparametern måste du inkludera en avslutande asterisk (*
) för att ange innehållet i sökvägen.
Följande kommando lägger till ordet "Klar" innehållet i alla *.txt
filer i C:\Temp
katalogen.
Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"
Parametrar
-AsByteStream
Anger att innehållet ska läsas som en ström med byte. Den här parametern introducerades i PowerShell 6.0.
En varning inträffar när du använder parametern AsByteStream med kodningsparametern . Parametern AsByteStream ignorerar all kodning och utdata returneras som en ström med byte.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Kommentar
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.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Encoding
Anger typen av kodning för målfilen. Standardvärdet är utf8NoBOM
.
Kodning är en dynamisk parameter som FileSystem-providern lägger till i cmdleten Add-Content
. Den här parametern fungerar bara på filsystemenheter.
Godkända värden för den här parametern är följande:
ascii
: Använder kodningen för ASCII-teckenuppsättningen (7-bitars).ansi
: Använder kodningen för för den aktuella kulturens ANSI-kodsida. Det här alternativet lades till i PowerShell 7.4.bigendianunicode
: Kodar i UTF-16-format med hjälp av den stora byteordningen.bigendianutf32
: Kodar i UTF-32-format med hjälp av storslutsbyteordningen.oem
: Använder standardkodning för MS-DOS och konsolprogram.unicode
: Kodar i UTF-16-format med hjälp av den lite endianska byteordningen.utf7
: Kodar i UTF-7-format.utf8
: Kodar i UTF-8-format.utf8BOM
: Kodar i UTF-8-format med Byte Order Mark (BOM)utf8NoBOM
: Kodar i UTF-8-format utan Byte Order Mark (BOM)utf32
: Kodar i UTF-32-format.
Från och med PowerShell 6.2 tillåter kodningsparametern även numeriska ID:n för registrerade kodsidor (till exempel -Encoding 1251
) eller strängnamn för registrerade kodsidor (till exempel -Encoding "windows-1251"
). Mer information finns i .NET-dokumentationen för Encoding.CodePage.
Från och med PowerShell 7.4 kan du använda Ansi
värdet för kodningsparametern för att skicka det numeriska ID:t för den aktuella kulturens ANSI-kodsida utan att behöva ange det manuellt.
Kommentar
UTF-7* rekommenderas inte längre att använda. Från och med PowerShell 7.1 skrivs en varning om du anger utf7
för kodningsparametern .
Typ: | Encoding |
Godkända värden: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Standardvärde: | UTF8NoBOM |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 Exkludera gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*
, där jokertecknet anger innehållet i C:\Windows
katalogen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Filter
Anger ett filter för att kvalificera parametern Sökväg . FileSystem-providern är den enda installerade PowerShell-providern som stöder användning av filter. Du hittar syntaxen för filterspråket FileSystem 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 PowerShell filtrerar objekten när de har hämtats.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Force
Åsidosätter det skrivskyddade attributet så att du kan lägga till innehåll i en skrivskyddad fil. Force åsidosätter till exempel det skrivskyddade attributet men ändrar inte filbehörigheter.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 är endast effektiv när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*
, där jokertecknet anger innehållet i C:\Windows
katalogen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-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 jokertecken. 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.
Typ: | String[] |
Alias: | PSPath, LP |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-NoNewline
Anger att den här cmdleten inte lägger till en ny rad eller vagn som returneras till innehållet.
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.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PassThru
Returnerar ett objekt som representerar det tillagda innehållet. Som standard genererar den här cmdleten inga utdata.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Path
Anger sökvägen till de objekt som tar emot ytterligare innehåll. Jokertecken tillåts. Sökvägarna måste vara sökvägar till objekt, inte till containrar. Du måste till exempel ange en sökväg till en eller flera filer, inte en sökväg till en katalog. Om du anger flera sökvägar använder du kommatecken för att avgränsa sökvägarna.
Typ: | String[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Stream
Kommentar
Den här parametern är endast tillgänglig i Windows.
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 Add-Content
. Den här parametern fungerar bara på filsystemenheter.
Du kan använda cmdleten Add-Content
för att ändra innehållet i en 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. Från och med PowerShell 7.2 Add-Content
kan du rikta alternativa dataströmmar på både filer och kataloger.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Value
Anger det innehåll som ska läggas till. Skriv en citerad sträng, till exempel Dessa data är endast för internt bruk, eller ange ett objekt som innehåller innehåll, till exempel DateTime-objektet som Get-Date
genererar.
Du kan inte ange innehållet i en fil genom att skriva dess sökväg, eftersom sökvägen bara är en sträng.
Du kan använda ett Get-Content
kommando för att hämta innehållet och skicka det till parametern Värde .
Typ: | Object[] |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka pipe-värden till Add-Content
.
Du kan skicka autentiseringsuppgifter till Add-Content
.
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
När du använder parametern PassThru returnerar den här cmdleten ett System.String-objekt som representerar innehållet.
Kommentarer
PowerShell innehåller följande alias för Add-Content
:
Windows:
ac
När du rör ett objekt till
Add-Content
konverteras objektet till en sträng innan det läggs till i objektet. Objekttypen avgör strängformatet, men formatet kan skilja sig från standardvisningen av objektet. Om du vill styra strängformatet använder du formateringsparametrarna för den sändande cmdleten.Cmdleten
Add-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 about_Providers.