Dela via


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 i CopyFromFile.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 fil CopyFromFile.txt och skickar den till parametern Value . Parenteserna runt cmdleten Get-Content ser till att kommandot slutförs innan Add-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 filen IsReadOnlyTextFile.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

Object

Du kan skicka pipe-värden till Add-Content.

PSCredential

Du kan skicka autentiseringsuppgifter till Add-Content.

Utdata

None

Som standard returnerar den här cmdleten inga utdata.

String

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-Contentkonverteras 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 du Get-PSProvider. Mer information finns i about_Providers.