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

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 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 att ta 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-ContentCopyToFile.txt uppdaterar filen med hjälp av variabelns $From innehåll.
  • 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 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å 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 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 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 Set-ItemProperty du kommandot 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 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 visas när du använder parametern AsByteStream med parametern Encoding . Parametern AsByteStream ignorerar all kodning och utdata returneras som en ström med byte.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Anteckning

Den här parametern stöds inte av 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.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Encoding

Anger typ 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).
  • bigendianunicode: Kodar i UTF-16-format med hjälp av den stora byteordningen.
  • bigendianutf32: Kodar i UTF-32-format med hjälp av den stora byteordningen.
  • oem: Använder standardkodning för MS-DOS och konsolprogram.
  • unicode: Kodar i UTF-16-format med den little-endianska byteordningen.
  • utf7: Kodar i UTF-7-format.
  • utf8: Kodar i UTF-8-format.
  • utf8BOM: Kodar i UTF-8-format med BOM (Byte Order Mark)
  • utf8NoBOM: Kodar i UTF-8-format utan bom (Byte Order Mark)
  • utf32: Kodar i UTF-32-format.

Från och med PowerShell 6.2 tillåter kodningsparametern även numeriska ID:er 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.

Anteckning

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 .

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

Anger, som en strängmatris, ett objekt eller objekt som denna cmdlet 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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-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 filterspråket FileSystem i about_Wildcards. Filter är mer effektiva ä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 efter att de har hämtats.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Anger, som en strängmatris, ett objekt eller objekt som denna cmdlet 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 C:\Windows katalogen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 talar om för PowerShell att inga tecken ska tolkas som escape-sekvenser.

Mer information finns i about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoNewline

Anger att denna cmdlet 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 nylinjer infogas mellan utdatasträngarna. Ingen ny rad läggs till efter den senaste utdatasträngen.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Returnerar ett objekt som representerar det tillagda innehållet. Som standard genererar denna cmdlet inga utdata.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Anger sökvägen till de objekt som tar emot det ytterligare innehållet. 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.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Stream

Anteckning

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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Value .

Type:Object[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

Object

Du kan skicka värden till Add-Content.

PSCredential

Du kan skicka autentiseringsuppgifter till Add-Content.

Utdata

None

Som standard returnerar denna cmdlet 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 skickar 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 de providrar som är tillgängliga i sessionen skriver du Get-PSProvider. Mer information finns i about_Providers.