Delen via


Get-Content

Hiermee haalt u de inhoud van het item op de opgegeven locatie op.

Syntax

Path (Standaard)

Get-Content
    [-Path] <string[]>
    [-ReadCount <long>]
    [-TotalCount <long>]
    [-Tail <int>]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-UseTransaction]
    [-Delimiter <string>]
    [-Wait]
    [-Raw]
    [-Encoding <FileSystemCmdletProviderEncoding>]
    [-Stream <string>]
    [<CommonParameters>]

LiteralPath

Get-Content
    -LiteralPath <string[]>
    [-ReadCount <long>]
    [-TotalCount <long>]
    [-Tail <int>]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-UseTransaction]
    [-Delimiter <string>]
    [-Wait]
    [-Raw]
    [-Encoding <FileSystemCmdletProviderEncoding>]
    [-Stream <string>]
    [<CommonParameters>]

Description

De Get-Content cmdlet haalt de inhoud van het item op op de locatie die is opgegeven door het pad, zoals de tekst in een bestand of de inhoud van een functie. Voor bestanden wordt de inhoud één regel tegelijk gelezen en wordt een verzameling objecten geretourneerd, die elk een regel met inhoud vertegenwoordigt.

Vanaf PowerShell 3.0 kunt Get-Content ook een opgegeven aantal regels ophalen vanaf het begin of einde van een item.

Voorbeelden

Voorbeeld 1: De inhoud van een tekstbestand ophalen

In dit voorbeeld wordt de inhoud van een bestand in de huidige map opgeslagen. Het bestand LineNumbers.txt bevat 100 regels in de indeling, Dit is regel X en wordt in verschillende voorbeelden gebruikt.

1..100 | ForEach-Object { Add-Content -Path .\LineNumbers.txt -Value "This is line $_." }
Get-Content -Path .\LineNumbers.txt
This is Line 1
This is Line 2
...
This is line 99.
This is line 100.

De arraywaarden 1-100 worden via de pijplijn naar de cmdlet ForEach-Object verzonden. ForEach-Object gebruikt een scriptblok met de Add-Content-cmdlet om het LineNumbers.txt-bestand te maken. De variabele $_ vertegenwoordigt de matrixwaarden wanneer elk object omlaag wordt verzonden in de pijplijn. De Get-Content-cmdlet gebruikt de parameter Path om het LineNumbers.txt-bestand op te geven en de inhoud weer te geven in de PowerShell-console.

Voorbeeld 2: Het aantal regels dat Get-Content retourneert beperken

Met dit commando worden de eerste vijf regels van een bestand opgehaald. De parameter TotalCount wordt gebruikt om de eerste vijf regels inhoud op te halen. In dit voorbeeld wordt het LineNumbers.txt-bestand gebruikt dat is gemaakt in voorbeeld 1.

Get-Content -Path .\LineNumbers.txt -TotalCount 5
This is Line 1
This is Line 2
This is Line 3
This is Line 4
This is Line 5

Voorbeeld 3: Een specifieke regel inhoud ophalen uit een tekstbestand

Met deze opdracht wordt een bepaald aantal regels uit een bestand opgehaald en wordt vervolgens alleen de laatste regel van die inhoud weergegeven. De parameter TotalCount haalt de eerste 25 regels inhoud op. In dit voorbeeld wordt het LineNumbers.txt-bestand gebruikt dat is gemaakt in voorbeeld 1.

(Get-Content -Path .\LineNumbers.txt -TotalCount 25)[-1]
This is Line 25

De Get-Content opdracht wordt tussen haakjes verpakt, zodat de opdracht wordt voltooid voordat u naar de volgende stap gaat. Get-Contentretourneert een array van lijnen, hiermee kunt u de indexnotatie na de haakjes toevoegen om een specifiek lijnnummer op te halen. In dit geval geeft de [-1]-index de laatste index op in de geretourneerde matrix van 25 opgehaalde regels.

Voorbeeld 4: De laatste regel van een tekstbestand ophalen

Met deze opdracht wordt de eerste regel en laatste regel inhoud uit een bestand opgehaald. In dit voorbeeld wordt het LineNumbers.txt-bestand gebruikt dat is gemaakt in voorbeeld 1.

Get-Item -Path .\LineNumbers.txt | Get-Content -Tail 1
This is Line 100

In dit voorbeeld wordt de cmdlet Get-Item gebruikt om aan te tonen dat u bestanden kunt doorsluisen naar de parameter Get-Content. De parameter Tail haalt de laatste regel van het bestand op. Deze methode is sneller dan het ophalen van alle regels en het gebruik van de [-1] index notatie.

Voorbeeld 5: De inhoud van een alternatieve gegevensstroom ophalen

In dit voorbeeld wordt beschreven hoe u de parameter Stream gebruikt om de inhoud van een alternatieve gegevensstroom op te halen voor bestanden die zijn opgeslagen op een Windows NTFS-volume. In dit voorbeeld wordt de cmdlet Set-Content gebruikt om voorbeeldinhoud te maken in een bestand met de naam Stream.txt.

Set-Content -Path .\Stream.txt -Value 'This is the content of the Stream.txt file'
# Specify a wildcard to the Stream parameter to display all streams of the recently created file.
Get-Item -Path .\Stream.txt -Stream *
PSPath        : Microsoft.PowerShell.Core\FileSystem::C:\Test\Stream.txt::$DATA
PSParentPath  : Microsoft.PowerShell.Core\FileSystem::C:\Test
PSChildName   : Stream.txt::$DATA
PSDrive       : C
PSProvider    : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
FileName      : C:\Test\Stream.txt
Stream        : :$DATA
Length        : 44
# Retrieve the content of the primary, or $DATA stream.
Get-Content -Path .\Stream.txt -Stream $DATA
This is the content of the Stream.txt file
# Use the Stream parameter of Add-Content to create a new Stream containing sample content.
Add-Content -Path .\Stream.txt -Stream NewStream -Value 'Added a stream named NewStream to Stream.txt'
# Use Get-Item to verify the stream was created.
Get-Item -Path .\Stream.txt -Stream *
PSPath        : Microsoft.PowerShell.Core\FileSystem::C:\Test\Stream.txt::$DATA
PSParentPath  : Microsoft.PowerShell.Core\FileSystem::C:\Test
PSChildName   : Stream.txt::$DATA
PSDrive       : C
PSProvider    : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
FileName      : C:\Test\Stream.txt
Stream        : :$DATA
Length        : 44

PSPath        : Microsoft.PowerShell.Core\FileSystem::C:\Test\Stream.txt:NewStream
PSParentPath  : Microsoft.PowerShell.Core\FileSystem::C:\Test
PSChildName   : Stream.txt:NewStream
PSDrive       : C
PSProvider    : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
FileName      : C:\Test\Stream.txt
Stream        : NewStream
Length        : 46
# Retrieve the content of your newly created Stream.
Get-Content -Path .\Stream.txt -Stream NewStream
Added a stream named NewStream to Stream.txt

De parameter Stream is een dynamische parameter van de FileSystem-provider. Standaard Get-Content alleen gegevens ophaalt uit de primaire stroom of $DATA stream. Streams kunnen worden gebruikt voor het opslaan van verborgen gegevens, zoals kenmerken, beveiligingsinstellingen of andere gegevens.

Voorbeeld 6: Onbewerkte inhoud ophalen

Met de opdrachten in dit voorbeeld wordt de inhoud van een bestand als één tekenreeks weergegeven in plaats van een matrix met tekenreeksen. Standaard wordt inhoud zonder de Raw dynamische parameter geretourneerd als een array van tekenreeksen gescheiden door nieuwe regels. In dit voorbeeld wordt het LineNumbers.txt-bestand gebruikt dat is gemaakt in voorbeeld 1.

$raw = Get-Content -Path .\LineNumbers.txt -Raw
$lines = Get-Content -Path .\LineNumbers.txt
Write-Host "Raw contains $($raw.Count) lines."
Write-Host "Lines contains $($lines.Count) lines."
Raw contains 1 lines.
Lines contains 100 lines.

Voorbeeld 7: Filters gebruiken met Get-Content

U kunt een filter opgeven voor de Get-Content cmdlet. Wanneer u filters gebruikt om de parameter Pad te kwalificeren, moet u een sterretje aan het einde (*) opnemen om de inhoud van het pad aan te geven.

Met de volgende opdracht wordt de inhoud van alle *.log bestanden in de map C:\Temp opgeslagen.

Get-Content -Path C:\Temp\* -Filter *.log

Voorbeeld 8: Bestandsinhoud ophalen als een bytematrix

In dit voorbeeld ziet u hoe u de inhoud van een bestand als een [byte[]] als één object kunt ophalen.

$byteArray = Get-Content -Path C:\temp\test.txt -Encoding Byte -Raw
Get-Member -InputObject $bytearray
   TypeName: System.Byte[]

Name           MemberType            Definition
----           ----------            ----------
Count          AliasProperty         Count = Length
Add            Method                int IList.Add(System.Object value)

De eerste opdracht maakt gebruik van de parameter codering om de stroom van bytes uit het bestand op te halen. De parameter Raw zorgt ervoor dat de bytes worden geretourneerd als een [System.Byte[]]. Als de parameter Raw ontbreekt, is de retourwaarde een stroom van bytes, die door PowerShell wordt geïnterpreteerd als [System.Object[]].

Parameters

-Credential

Opmerking

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

Parametereigenschappen

Type:PSCredential
Default value:Current user
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Delimiter

Hiermee geeft u het scheidingsteken op dat Get-Content gebruikt om het bestand te verdelen in objecten terwijl het wordt gelezen. De standaardwaarde is \n, het einde van het regelteken. Wanneer u een tekstbestand leest, retourneert Get-Content een verzameling tekenreeksobjecten, die elk eindigt met een eindteken. Wanneer u een scheidingsteken invoert dat niet in het bestand bestaat, retourneert Get-Content het hele bestand als één, niet-gescheiden object.

U kunt deze parameter gebruiken om een groot bestand op te splitsen in kleinere bestanden door een bestandsscheidingsteken op te geven als scheidingsteken. Het scheidingsteken blijft behouden (niet verwijderd) en wordt het laatste item in elke bestandssectie.

scheidingsteken is een dynamische parameter die de filesystem-provider toevoegt aan de Get-Content-cmdlet. Deze parameter werkt alleen in bestandsysteemschijven.

Opmerking

Wanneer de waarde van de parameter Scheidingsteken een lege tekenreeks is, retourneert Get-Content niets. Dit is een bekend probleem. Om af te dwingen dat Get-Content het hele bestand als één niet-gescheiden tekenreeks retourneert. Voer een waarde in die niet in het bestand bestaat.

Parametereigenschappen

Type:String
Default value:End-of-line character
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Encoding

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

De acceptabele waarden voor deze parameter zijn als volgt:

  • ASCII- maakt gebruik van ASCII-tekenset (7-bits).
  • BigEndianUnicode Maakt gebruik van UTF-16 met de bytevolgorde big-endian.
  • BigEndianUTF32 Maakt gebruik van UTF-32 met de bytevolgorde big-endian.
  • Byte Codeert een reeks tekens in een reeks bytes.
  • standaard maakt gebruik van de codering die overeenkomt met de actieve codepagina van het systeem (meestal ANSI).
  • OEM- maakt gebruik van de codering die overeenkomt met de huidige OEM-codepagina van het systeem.
  • tekenreeks hetzelfde als Unicode-.
  • Unicode- maakt gebruik van UTF-16 met de bytevolgorde little endian.
  • Onbekend Hetzelfde als Unicode-.
  • UTF7 maakt gebruik van UTF-7.
  • UTF8 Maakt gebruik van UTF-8.
  • UTF32 maakt gebruik van UTF-32 met de bytevolgorde little-endian.

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

Bij het lezen van en schrijven naar binaire bestanden gebruikt u een waarde van Byte- voor de dynamische parameter codering en een waarde van 0 voor de parameter ReadCount. Een ReadCount waarde 0 leest het hele bestand in één leesbewerking en converteert het naar één object (PSObject). De standaardwaarde ReadCount, 1, leest één byte in elke leesbewerking en converteert elke byte naar een afzonderlijk object, wat fouten veroorzaakt wanneer u de Set-Content cmdlet gebruikt om de bytes naar een bestand te schrijven.

Parametereigenschappen

Type:FileSystemCmdletProviderEncoding
Default value:Default
Geaccepteerde waarden:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Exclude

Hiermee specificeert u, als een tekenreeks, één of meerdere items die door deze cmdlet worden uitgesloten van de bewerking. De waarde van deze parameter komt in aanmerking voor de parameter Path.

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.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Filter

Hiermee geeft u een filter op om de parameter Path te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die het gebruik van filters ondersteunt. U kunt de syntaxis voor de FileSystem filtertaal vinden 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.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Force

forceren een kenmerk met het kenmerk Alleen-lezen overschrijven of mappen maken om een bestandspad te voltooien. De parameter Forceren probeert geen bestandsmachtigingen te wijzigen of beveiligingsbeperkingen te overschrijven.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Include

Hiermee specificeert u, in de vorm van een tekenreeksarray, een item of items die deze cmdlet bij de bewerking betrekt. De waarde van deze parameter komt in aanmerking voor de parameter Path. 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.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-LiteralPath

Specificeert 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 escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.

Zie about_Quoting_Rulesvoor meer informatie.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PSPath

Parametersets

LiteralPath
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Path

Hiermee geeft u het pad naar een item op waar Get-Content de inhoud ophaalt. 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.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

Path
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Raw

Negeert nieuwe regeltekens en retourneert de volledige inhoud van een bestand in één tekenreeks, waarbij de nieuwe regels behouden blijven. Standaard worden newlinetekens in een bestand gebruikt als scheidingstekens om de invoer te scheiden in een matrix met tekenreeksen. Deze parameter is geïntroduceerd in PowerShell 3.0.

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

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ReadCount

Hiermee geeft u aan hoeveel regels inhoud er per keer via de pijplijn worden verzonden. De standaardwaarde is 1. Een waarde van 0 (nul) verzendt alle inhoud tegelijk.

Met deze parameter wordt de weergegeven inhoud niet gewijzigd, maar dit heeft wel invloed op de tijd die nodig is om de inhoud weer te geven. Naarmate de waarde van ReadCount toeneemt, neemt de tijd die nodig is om de eerste regel te retourneren toe, maar neemt de totale tijd voor de bewerking af. Dit kan een merkbaar verschil maken in grote items.

Parametereigenschappen

Type:Int64
Default value:1
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Stream

Hiermee haalt u de inhoud van de opgegeven alternatieve NTFS-bestandsstroom op uit het bestand. Voer de naam van de stream in. Jokertekens worden niet ondersteund.

Stream- is een dynamische parameter die door de bestandssysteemprovider wordt toegevoegd aan de Get-Content-cmdlet. Deze parameter werkt alleen in bestandssysteemstations op Windows-systemen. Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Tail

Specificeert het aantal regels vanaf het einde van een bestand of ander item. U kunt de Tail-parameter of zijn alias, Last, gebruiken. Deze parameter is geïntroduceerd in PowerShell 3.0.

Parametereigenschappen

Type:Int32
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Laatste

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-TotalCount

Hiermee geeft u het aantal regels vanaf het begin van een bestand of ander item. De standaardwaarde is -1 (alle regels).

U kunt de parameternaam TotalCount of de aliassen First of Headgebruiken.

Parametereigenschappen

Type:Int64
Default value:-1
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Eerst, Hoofd

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-UseTransaction

Bevat de opdracht in de actieve transactie. Deze parameter is alleen geldig wanneer een transactie wordt uitgevoerd. Zie about_Transactionsvoor meer informatie.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:usetx

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Wait

Houdt het bestand geopend nadat alle bestaande regels zijn uitgevoerd. Tijdens het wachten controleert Get-Content het bestand eenmaal per seconde en worden nieuwe regels uitgevoerd als deze aanwezig zijn. U kunt wachten onderbreken door op Ctrl+C-te drukken. Wachten eindigt ook als het bestand wordt verwijderd. In dat geval wordt een niet-afsluitfout gerapporteerd.

Wait is een dynamische parameter die de FileSystem-provider toevoegt aan de Get-Content-cmdlet. Deze parameter werkt alleen in bestandsysteemschijven. Wait kan niet worden gecombineerd met Raw-.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

System.Int64, System.String

U kunt het aantal leesbewerkingen, het totale aantal, paden of referenties doorsluizen naar Get-Content.

Uitvoerwaarden

System.Byte, System.String

Get-Content retourneert tekenreeksen of bytes. Het uitvoertype is afhankelijk van het type inhoud dat u opgeeft als invoer.

Notities

De cmdlet Get-Content is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Gebruik de cmdlet Get-PSProvider om de providers in uw sessie op te halen. Zie about_Providersvoor meer informatie.