Add-Content

Hiermee voegt u inhoud toe aan de opgegeven items, zoals woorden toevoegen aan een bestand.

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

De Add-Content cmdlet voegt inhoud toe aan een opgegeven item of bestand. Inhoud kan worden doorgegeven vanuit de pijplijn of worden opgegeven met behulp van de parameter Waarde .

Zie New-Item als u bestanden of mappen wilt maken voor de volgende voorbeelden.

Voorbeelden

Voorbeeld 1: Een tekenreeks toevoegen aan alle tekstbestanden met een uitzondering

In dit voorbeeld wordt een waarde toegevoegd aan tekstbestanden in de huidige map, maar worden bestanden uitgesloten op basis van hun bestandsnaam.

Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'

Met de parameter Path worden alle .txt bestanden in de huidige map opgegeven, maar de parameter Uitsluiten negeert bestandsnamen die overeenkomen met het opgegeven patroon. Met de parameter Waarde geeft u de tekenreeks op die naar de bestanden wordt geschreven.

Gebruik Get-Content om de inhoud van deze bestanden weer te geven.

Voorbeeld 2: Een datum toevoegen aan het einde van de opgegeven bestanden

In dit voorbeeld wordt de datum toegevoegd aan bestanden in de huidige map en wordt de datum weergegeven in de PowerShell-console.

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

De Add-Content cmdlet maakt twee nieuwe bestanden in de huidige map. De waardeparameter bevat de uitvoer van de Get-Date cmdlet. De parameter PassThru voert de toegevoegde inhoud uit aan de pijplijn. Omdat er geen andere cmdlet is om de uitvoer te ontvangen, wordt deze weergegeven in de PowerShell-console. Met de Get-Content cmdlet wordt het bijgewerkte bestand weergegeven. DateTimeFile1.log

Voorbeeld 3: De inhoud van een opgegeven bestand toevoegen aan een ander bestand

In dit voorbeeld wordt de inhoud uit een bestand opgehaald en wordt de inhoud opgeslagen in een variabele. De variabele wordt gebruikt om de inhoud toe te voegen aan een ander bestand.

$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
  • De Get-Content cmdlet haalt de inhoud van CopyFromFile.txt en slaat de inhoud op in de $From variabele.
  • De Add-Content cmdlet werkt het CopyToFile.txt bestand bij met behulp van de inhoud van de $From variabele.
  • De Get-Content cmdlet geeft CopyToFile.txt weer.

Voorbeeld 4: De inhoud van een opgegeven bestand toevoegen aan een ander bestand met behulp van de pijplijn

In dit voorbeeld wordt de inhoud opgehaald uit een bestand en wordt deze door een bestand naar de Add-Content cmdlet gebuit.

Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt

De Get-Content cmdlet haalt de inhoud van CopyFromFile.txt. De resultaten worden doorgesluisd naar de Add-Content cmdlet, waarmee de CopyToFile.txt. De laatste Get-Content cmdlet wordt weergegeven CopyToFile.txt.

Voorbeeld 5: Een nieuw bestand maken en inhoud kopiëren

In dit voorbeeld wordt een nieuw bestand gemaakt en wordt de inhoud van een bestaand bestand gekopieerd naar het nieuwe bestand.

Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
  • De Add-Content cmdlet gebruikt de parameters Pad en Waarde om een nieuw bestand in de huidige map te maken.
  • De Get-Content cmdlet haalt de inhoud van een bestaand bestand CopyFromFile.txt op en geeft deze door aan de parameter Waarde . De haakjes rond de cmdlet zorgen ervoor dat de Get-Content opdracht is voltooid voordat de Add-Content opdracht begint.
  • Met Get-Content de cmdlet wordt de inhoud van het nieuwe bestand weergegeven. NewFile.txt

Voorbeeld 6: Inhoud toevoegen aan een bestand met het kenmerk Alleen-lezen

Met deze opdracht wordt een waarde aan het bestand toegevoegd, zelfs als het isReadOnly-bestandskenmerk is ingesteld op True. De stappen voor het maken van een alleen-lezenbestand worden opgenomen in het voorbeeld.

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
  • De New-Item cmdlet gebruikt de parameters Path en ItemType om het bestand IsReadOnlyTextFile.txt in de huidige map te maken.
  • De Set-ItemProperty cmdlet gebruikt de parameters Naam en Waarde om de eigenschap IsReadOnly van het bestand te wijzigen in Waar.
  • De Get-ChildItem cmdlet toont dat het bestand leeg is (0) en heeft het kenmerk Alleen-lezen (r).
  • De Add-Content cmdlet gebruikt de parameter Path om het bestand op te geven. De parameter Waarde bevat de tekenreeks die moet worden toegevoegd aan het bestand. De parameter Force schrijft de tekst naar het bestand met het kenmerk Alleen-lezen.
  • De Get-Content cmdlet gebruikt de parameter Path om de inhoud van het bestand weer te geven.

Als u het kenmerk Alleen-lezen wilt verwijderen, gebruikt u de Set-ItemProperty opdracht met de parameter Waarde ingesteld op False.

Voorbeeld 7: Filters gebruiken met invoegtoepassingen

U kunt een filter opgeven voor de Add-Content cmdlet. Wanneer u filters gebruikt om de padparameter in aanmerking te nemen, moet u een volgsterretje (*) opnemen om de inhoud van het pad aan te geven.

Met de volgende opdracht wordt het woord 'Gereed' toegevoegd aan de inhoud van alle *.txt bestanden in de C:\Temp map.

Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"

Parameters

-AsByteStream

Hiermee geeft u op dat de inhoud moet worden gelezen als een stroom van bytes. Deze parameter is geïntroduceerd in PowerShell 6.0.

Er treedt een waarschuwing op wanneer u de parameter AsByteStream gebruikt met de parameter Encoding . De parameter AsByteStream negeert alle coderingen en de uitvoer wordt geretourneerd als een stroom van bytes.

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

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-Credential

Notitie

Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met PowerShell. Als u een andere gebruiker wilt imiteren of uw referenties wilt verhogen bij het uitvoeren van deze cmdlet, gebruikt u Invoke-Command.

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

-Encoding

Hiermee geeft u het type codering voor het doelbestand. De standaardwaarde is utf8NoBOM.

Encoding is een dynamische parameter die de FileSystem-provider toevoegt aan de Add-Content cmdlet. Deze parameter werkt alleen in bestandssysteemstations.

De acceptabele waarden voor deze parameter zijn als volgt:

  • ascii: gebruikt de codering voor de ASCII-tekenset (7-bits).
  • bigendianunicode: Codeert in UTF-16-indeling met behulp van de bytevolgorde big-endian.
  • bigendianutf32: Codeert in UTF-32-indeling met behulp van de bytevolgorde big-endian.
  • oem: maakt gebruik van de standaardcodering voor MS-DOS en consoleprogramma's.
  • unicode: Codeert in UTF-16-indeling met behulp van de bytevolgorde little-endian.
  • utf7: Codeert in UTF-7-indeling.
  • utf8: Codeert in UTF-8-indeling.
  • utf8BOM: Codeert in UTF-8-indeling met Byte Order Mark (BOM)
  • utf8NoBOM: Codeert in UTF-8-indeling zonder Byte Order Mark (BOM)
  • utf32: Codeert in UTF-32-indeling.

Vanaf PowerShell 6.2 staat de coderingsparameter ook numerieke id's toe van geregistreerde codepagina's (zoals -Encoding 1251) of tekenreeksnamen van geregistreerde codepagina's (zoals-Encoding "windows-1251"). Zie de .NET-documentatie voor Encoding.CodePage voor meer informatie.

Notitie

UTF-7* wordt niet meer aanbevolen om te gebruiken. Vanaf PowerShell 7.1 wordt een waarschuwing geschreven als u opgeeft utf7 voor de coderingsparameter .

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

Hiermee geeft u, als een tekenreeksmatrix, een item of items op die door deze cmdlet worden uitgesloten in de bewerking. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of patroon in, zoals *.txt. Jokertekens zijn toegestaan. De parameter Uitsluiten is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de C:\Windows map aangeeft.

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

-Filter

Hiermee geeft u een filter op om de path-parameter te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die ondersteuning biedt voor het gebruik van filters. U vindt de syntaxis voor de bestandssysteemfiltertaal in about_Wildcards. Filters zijn efficiënter dan andere parameters, omdat de provider deze toepast wanneer de cmdlet de objecten ophaalt in plaats van PowerShell de objecten te filteren nadat ze zijn opgehaald.

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

-Force

Overschrijft het kenmerk Alleen-lezen, zodat u inhoud aan een alleen-lezenbestand kunt toevoegen. Forceert bijvoorbeeld het kenmerk Alleen-lezen, maar wijzigt geen bestandsmachtigingen.

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

-Include

Hiermee geeft u, als tekenreeksmatrix, een item of items op die deze cmdlet in de bewerking bevat. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of patroon in, zoals "*.txt". Jokertekens zijn toegestaan. De parameter Opnemen is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de C:\Windows map aangeeft.

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

-LiteralPath

Hiermee geeft u een pad naar een of meer locaties. De waarde van LiteralPath wordt exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.

Zie about_Quoting_Rules voor meer informatie.

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

-NoNewline

Geeft aan dat deze cmdlet geen nieuwe regel of regelterugloop toevoegt aan de inhoud.

De tekenreeksweergaven van de invoerobjecten worden samengevoegd om de uitvoer te vormen. Er worden geen spaties of nieuwe regels ingevoegd tussen de uitvoertekenreeksen. Er wordt geen nieuwe regel toegevoegd na de laatste uitvoertekenreeks.

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

-PassThru

Retourneert een object dat de toegevoegde inhoud vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

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

-Path

Hiermee geeft u het pad naar de items die de aanvullende inhoud ontvangen. Jokertekens zijn toegestaan. De paden moeten paden naar items zijn, niet naar containers. U moet bijvoorbeeld een pad naar een of meer bestanden opgeven, niet een pad naar een map. Als u meerdere paden opgeeft, gebruikt u komma's om de paden te scheiden.

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

-Stream

Notitie

Deze parameter is alleen beschikbaar in Windows.

Hiermee geeft u een alternatieve gegevensstroom voor inhoud op. Als de stream niet bestaat, maakt deze cmdlet deze. Jokertekens worden niet ondersteund.

Stream is een dynamische parameter die door de FileSystem-provider wordt Add-Contenttoegevoegd. Deze parameter werkt alleen in bestandssysteemstations.

U kunt de Add-Content cmdlet gebruiken om de inhoud van een alternatieve gegevensstroom te wijzigen, zoals Zone.Identifier. We raden dit echter niet aan als een manier om beveiligingscontroles te voorkomen die bestanden blokkeren die van internet worden gedownload. Als u controleert of een gedownload bestand veilig is, gebruikt u de Unblock-File cmdlet.

Deze parameter is geïntroduceerd in PowerShell 3.0. Vanaf PowerShell 7.2 Add-Content kunnen alternatieve gegevensstromen worden gericht op zowel bestanden als mappen.

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

-Value

Hiermee geeft u de inhoud die moet worden toegevoegd. Typ een tekenreeks tussen aanhalingstekens, zoals deze gegevens, alleen voor intern gebruik of geef een object op dat inhoud bevat, zoals het DateTime-object dat Get-Date wordt gegenereerd.

U kunt de inhoud van een bestand niet opgeven door het pad te typen, omdat het pad slechts een tekenreeks is. U kunt een Get-Content opdracht gebruiken om de inhoud op te halen en door te geven aan de parameter Waarde .

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

Invoerwaarden

Object

U kunt waarden doorsluisen naar Add-Content.

PSCredential

U kunt referenties doorsluisen naar Add-Content.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

String

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een System.String-object dat de inhoud vertegenwoordigt.

Notities

PowerShell bevat de volgende aliassen voor Add-Content:

  • Windows:

    • ac
  • Wanneer u een object doorsluist naar Add-Content, wordt het object geconverteerd naar een tekenreeks voordat het wordt toegevoegd aan het item. Het objecttype bepaalt de tekenreeksindeling, maar de indeling kan afwijken van de standaardweergave van het object. Als u de tekenreeksindeling wilt beheren, gebruikt u de opmaakparameters van de verzendende cmdlet.

  • De Add-Content cmdlet is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt Get-PSProvideru . Zie about_Providers voor meer informatie.