Add-Content
Hiermee voegt u inhoud toe aan de opgegeven items, zoals het toevoegen van woorden 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. U kunt de inhoud opgeven door de inhoud in de opdracht te typen of door een object op te geven dat de inhoud bevat.
Als u bestanden of mappen wilt maken voor de volgende voorbeelden, raadpleegt u New-Item.
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 Exclude negeert bestandsnamen die overeenkomen met het opgegeven patroon. De parameter Value geeft 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 parameter Value bevat de uitvoer van de Get-Date
cmdlet. De parameter PassThru voert de toegevoegde inhoud uit naar de pijplijn. Omdat er geen andere cmdlet is om de uitvoer te ontvangen, wordt deze weergegeven in de PowerShell-console. De Get-Content
cmdlet geeft het bijgewerkte bestand weer, 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 vanCopyFromFile.txt
op en slaat de inhoud op in de$From
variabele. - De
Add-Content
cmdlet werkt hetCopyToFile.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 uit een bestand opgehaald en naar de Add-Content
cmdlet opgegeven.
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
op. De resultaten worden doorgesluisd naar de Add-Content
cmdlet, waarmee de wordt bijgewerkt CopyToFile.txt
.
De laatste Get-Content
cmdlet geeft weer CopyToFile.txt
.
Voorbeeld 5: een nieuw bestand Creatie 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 bestandCopyFromFile.txt
op en geeft deze door aan de parameter Value . De haakjes rond deGet-Content
cmdlet zorgen ervoor dat de opdracht wordt voltooid voordat deAdd-Content
opdracht begint. - De
Get-Content
cmdlet geeft de inhoud van het nieuwe bestand weer,NewFile.txt
.
Voorbeeld 6: inhoud toevoegen aan een bestand met het kenmerk Alleen-lezen
Met deze opdracht voegt u een waarde toe aan het bestand, zelfs als het bestandskenmerk IsReadOnly is ingesteld op True. De stappen voor het maken van een alleen-lezenbestand zijn 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 bestandIsReadOnlyTextFile.txt
in de huidige map te maken. - De
Set-ItemProperty
cmdlet gebruikt de parameters Name en Value om de eigenschap IsReadOnly van het bestand te wijzigen in True. - De
Get-ChildItem
cmdlet geeft aan dat het bestand leeg is (0
) en het kenmerk Alleen-lezen heeft (r
). - De
Add-Content
cmdlet gebruikt de parameter Path om het bestand op te geven. De parameter Value bevat de tekenreeks die aan het bestand moet worden toegevoegd. 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 waarbij de parameter Value is ingesteld op False
.
Voorbeeld 7: Filters gebruiken met Add-Content
U kunt een filter voor de Add-Content
cmdlet opgeven. Wanneer u filters gebruikt om de path-parameter te kwalificeren, moet u een afsluitend sterretje (*
) 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 elke codering 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 bestandssysteemprovider toevoegt aan de Add-Content
cmdlet. Deze parameter werkt alleen in bestandssysteemstations.
De acceptabele waarden voor deze parameter zijn als volgt:
ascii
: maakt gebruik van 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 er een waarschuwing geschreven als u opgeeft utf7
voor de parameter Encoding .
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 Exclude 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 om de path parameter te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die het gebruik van filters ondersteunt. U vindt de syntaxis voor de filtertaal Bestandssysteem in about_Wildcards. Filters zijn efficiënter dan andere parameters, omdat de provider ze toepast wanneer de cmdlet de objecten ophaalt in plaats van dat PowerShell de objecten filtert nadat ze zijn opgehaald.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Hiermee overschrijft u het kenmerk Alleen-lezen, zodat u inhoud kunt toevoegen aan een bestand met het kenmerk Alleen-lezen. Met Force wordt bijvoorbeeld het kenmerk alleen-lezen overschreven, maar worden de bestandsmachtigingen niet gewijzigd.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Hiermee geeft u, als een tekenreeksmatrix, een item of items op die deze cmdlet in de bewerking opneemt. 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 Include 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 precies 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 vertellen PowerShell dat geen tekens als escape-reeksen 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 zijn naar items, 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 stroom niet bestaat, wordt deze met deze cmdlet gemaakt. Jokertekens worden niet ondersteund.
Stream is een dynamische parameter die door de bestandssysteemprovider wordt toegevoegd aan Add-Content
. 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 elimineren 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Hiermee geeft u de inhoud moet worden toegevoegd. Typ een tekenreeks met aanhalingstekens, zoals Deze gegevens zijn 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 Value .
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
System.Object, System.Management.Automation.PSCredential
U kunt waarden, paden of referenties doorsluizen naar Set-Content
.
Uitvoerwaarden
None or System.String
Wanneer u de parameter PassThru gebruikt, Add-Content
wordt een System.String-object gegenereerd dat de inhoud vertegenwoordigt. Anders genereert deze cmdlet geen uitvoer.
Notities
- Wanneer u een object doorsluist naar
Add-Content
, wordt het object geconverteerd naar een tekenreeks voordat het aan het item wordt toegevoegd. 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. - U kunt ook verwijzen naar door de
Add-Content
ingebouwde alias,ac
. Zie about_Aliases voor meer informatie. - De
Add-Content
cmdlet is ontworpen om te werken met de gegevens die door een provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt uGet-PSProvider
. Zie about_Providers voor meer informatie.