Dela via


Add-Content

Lägger till innehåll i de angivna objekten, till exempel att lägga till ord i en fil.

Syntax

Path (Standard)

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>]

LiteralPath

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 Value.

Om du behöver skapa filer eller kataloger för följande exempel kan du läsa New-Item.

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 Path anger alla .txt filer i den aktuella katalogen, men parametern Exclude ignorerar filnamn som matchar det angivna mönstret. Parametern Value 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 uppdaterar CopyToFile.txt-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 Path och Value 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 kommandot Add-Content 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å True. 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 Name och Value för att ändra filens egenskap IsReadOnly 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 Value 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 kommandot Set-ItemProperty med parametern Value inställd på False.

Exempel 7: Använd filter med Add-Content

Du kan ange ett filter för cmdleten Add-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 lägger till ordet "Klar" innehållet i alla *.txt filer i katalogen C:\Temp.

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 parametern Encoding. Parametern AsByteStream ignorerar all kodning och utdata returneras som en ström av byte.

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

-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

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 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 storstavelseordningen.
  • bigendianutf32: Kodar i UTF-32-format med big-endian-byteordning.
  • oem: Använder standardkodning för MS-DOS- och konsolprogram.
  • unicode: Kodar i UTF-16-format med hjälp av lite endiansk byteordning.
  • 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 parametern Kodning ä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 värdet Ansi för parametern Kodning för att skicka det numeriska ID:t för den aktuella kulturens ANSI-kodsida utan att behöva ange det manuellt.

Anmärkning

UTF-7* rekommenderas inte längre att användas. Från och med PowerShell 7.1 skrivs en varning om du anger utf7 för parametern Kodning.

Parameteregenskaper

Typ:Encoding
Standardvärde:UTF8NoBOM
Godkända värden:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, 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 PowerShell filtrerar 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

Åsidosätter det skrivskyddade attributet så att du kan lägga till innehåll i en skrivskyddad fil. Till exempel åsidosätter Force det skrivskyddade attributet, men det ändrar inte filbehörigheter.

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, SP

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

Anger att den här cmdleten inte lägger till en ny rad eller vagnretur 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.

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 det tillagda 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 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.

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

Anmärkning

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 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. Från och med PowerShell 7.2 kan Add-Content rikta alternativa dataströmmar på både filer och kataloger.

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

-Value

Anger det innehåll som ska läggas till. Skriv en citerad sträng, till exempel Dessa data används endast internt, eller ange ett objekt som innehåller innehåll, till exempel DateTime objekt 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 Value.

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 överföra 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 skicka 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 om_Leverantörer.