Get-Content
Hämtar innehållet i objektet på den angivna platsen.
Syntax
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>]
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
Cmdleten Get-Content
hämtar innehållet i objektet på den plats som anges av sökvägen, till exempel texten i en fil eller innehållet i en funktion. För filer läss innehållet en rad i taget och returnerar en samling objekt, som var och en representerar en innehållsrad.
Från och med PowerShell 3.0 kan Get-Content
också få ett angivet antal rader från början eller slutet av ett objekt.
Exempel
Exempel 1: Hämta innehållet i en textfil
Det här exemplet hämtar innehållet i en fil i den aktuella katalogen. Filen LineNumbers.txt
innehåller 100 rader i formatet Det här är rad X och används i flera exempel.
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.
Matrisvärdena 1–100 skickas ned i pipelinen till cmdleten ForEach-Object
.
ForEach-Object
använder ett skriptblock med cmdleten Add-Content
för att skapa LineNumbers.txt
-filen. Variabeln $_
representerar matrisvärdena när varje objekt skickas ned i pipelinen. Cmdleten Get-Content
använder parametern Path för att ange LineNumbers.txt
-filen och visa innehållet i PowerShell-konsolen.
Exempel 2: Begränsa antalet rader Get-Content returnerar
Det här kommandot hämtar de första fem raderna i en fil. Parametern TotalCount används för att hämta de fem första innehållsraderna. I det här exemplet används den LineNumbers.txt
fil som skapades i exempel 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
Exempel 3: Hämta en specifik innehållsrad från en textfil
Det här kommandot hämtar ett visst antal rader från en fil och visar sedan endast den sista raden i innehållet. Parametern TotalCount hämtar de första 25 innehållsraderna. I det här exemplet används den LineNumbers.txt
fil som skapades i exempel 1.
(Get-Content -Path .\LineNumbers.txt -TotalCount 25)[-1]
This is Line 25
Kommandot Get-Content
omsluts av parenteser så att kommandot slutförs innan du går till nästa steg.
Get-Content
returnerar en matris med rader kan du lägga till index notationen efter parentesen för att hämta ett specifikt radnummer. I det här fallet anger [-1]
index det sista indexet i den returnerade matrisen med 25 hämtade rader.
Exempel 4: Hämta den sista raden i en textfil
Det här kommandot hämtar den första raden och den sista raden med innehåll från en fil. I det här exemplet används den LineNumbers.txt
fil som skapades i exempel 1.
Get-Item -Path .\LineNumbers.txt | Get-Content -Tail 1
This is Line 100
I det här exemplet används cmdleten Get-Item
för att visa att du kan skicka filer till parametern Get-Content
. Parametern Tail hämtar den sista raden i filen. Den här metoden går snabbare än att hämta alla rader och använda [-1]
index notation.
Exempel 5: Hämta innehållet i en alternativ dataström
I det här exemplet beskrivs hur du använder parametern Stream för att hämta innehållet i en alternativ dataström för filer som lagras på en Windows NTFS-volym. I det här exemplet används cmdleten Set-Content
för att skapa exempelinnehåll i en fil med namnet 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
Parametern Stream är en dynamisk parameter för FileSystem-providern.
Som standard hämtar Get-Content
endast data från den primära eller $DATA
dataströmmen.
Streams kan användas för att lagra dolda data, till exempel attribut, säkerhetsinställningar eller andra data.
Exempel 6: Hämta råinnehåll
Kommandona i det här exemplet hämtar innehållet i en fil som en sträng i stället för en matris med strängar. Utan den dynamiska parametern Raw returneras som standard innehåll som en matris med nya, avgränsade strängar. I det här exemplet används den LineNumbers.txt
fil som skapades i exempel 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.
Exempel 7: Använd filter med Get-Content
Du kan ange ett filter för cmdleten Get-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 hämtar innehållet i alla *.log
filer i katalogen C:\Temp
.
Get-Content -Path C:\Temp\* -Filter *.log
Exempel 8: Hämta filinnehåll som en bytematris
Det här exemplet visar hur du hämtar innehållet i en fil som en [byte[]]
som ett enda objekt.
$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)
Det första kommandot använder parametern Kodning för att hämta byteströmmen från filen.
Parametern Raw ser till att byte returneras som en [System.Byte[]]
. Om parametern Raw saknades är returvärdet en ström med byte, vilket tolkas av PowerShell som [System.Object[]]
.
Parametrar
-Credential
Not
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.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | Current user |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Delimiter
Anger avgränsare som Get-Content
använder för att dela upp filen i objekt medan den läser. Standardvärdet är \n
, radslutstecknet. När du läser en textfil returnerar Get-Content
en samling strängobjekt, som var och en slutar med ett radslutstecken. När du anger en avgränsare som inte finns i filen returnerar Get-Content
hela filen som ett enda, odefinierat objekt.
Du kan använda den här parametern för att dela upp en stor fil i mindre filer genom att ange en filavgränsare som avgränsare. Avgränsare bevaras (tas inte bort) och blir det sista objektet i varje filavsnitt.
Avgränsare är en dynamisk parameter som FileSystem-providern lägger till i cmdleten Get-Content
. Den här parametern fungerar bara på filsystemenheter.
Not
När värdet för parametern Avgränsare är en tom sträng returnerar Get-Content
för närvarande ingenting. Det här är ett känt problem. För att tvinga Get-Content
att returnera hela filen som en enda, icke-avgränsad sträng. Ange ett värde som inte finns i filen.
Typ: | String |
Position: | Named |
Standardvärde: | End-of-line character |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Encoding
Anger typen av kodning för målfilen. Standardvärdet är Standard.
Godkända värden för den här parametern är följande:
- ASCII Använder ASCII-teckenuppsättning (7-bitars).
- BigEndianUnicode använder UTF-16 med den stora byteordningen.
- BigEndianUTF32 Använder UTF-32 med storslutsbyteordningen.
- Byte Kodar en uppsättning tecken till en sekvens med byte.
- Standard Använder kodningen som motsvarar systemets aktiva kodsida (vanligtvis ANSI).
- OEM- Använder kodningen som motsvarar systemets aktuella OEM-kodsida.
- Sträng Samma som Unicode.
- Unicode- använder UTF-16 med lite endiansk byteordning.
- Okänd Samma som Unicode.
- UTF7 använder UTF-7.
- UTF8 använder UTF-8.
- UTF32- använder UTF-32 med lite endiansk byteordning.
Kodning är en dynamisk parameter som FileSystem-providern lägger till i cmdleten Get-Content
.
Den här parametern fungerar bara på filsystemenheter.
När du läser från och skriver till binära filer använder du värdet Byte för den dynamiska parametern Kodning och värdet 0 för parametern ReadCount. Ett ReadCount- värdet 0 läser hela filen i en enda läsåtgärd och konverterar den till ett enda objekt (PSObject). Standardvärdet ReadCount, 1, läser en byte i varje läsåtgärd och konverterar varje byte till ett separat objekt, vilket orsakar fel när du använder cmdleten Set-Content
för att skriva byte till en fil.
Typ: | FileSystemCmdletProviderEncoding |
Godkända värden: | ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
Position: | Named |
Standardvärde: | Default |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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
.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 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 Låta PowerShell filtrera objekten när de har hämtats.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Force
Force åsidosätter ett skrivskyddat attribut eller skapar kataloger för att slutföra en filsökväg. Parametern Force försöker inte ändra filbehörigheter eller åsidosätta säkerhetsbegränsningar.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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
.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Mer information finns i about_Quoting_Rules.
Typ: | String[] |
Alias: | PSPath |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Path
Anger sökvägen till ett objekt där Get-Content
hämtar 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.
Typ: | String[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Raw
Ignorerar nya radtecken och returnerar hela innehållet i en fil i en sträng med de nya raderna bevarade. Som standard används nya radtecken i en fil som avgränsare för att separera indata i en matris med strängar. Den här parametern introducerades i PowerShell 3.0.
Raw är en dynamisk parameter som FileSystem-providern lägger till i cmdleten Get-Content
Den här parametern fungerar bara på filsystemenheter.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ReadCount
Anger hur många rader innehåll som skickas via pipelinen i taget. Standardvärdet är 1. Ett värde på 0 (noll) skickar allt innehåll samtidigt.
Den här parametern ändrar inte innehållet som visas, men det påverkar den tid det tar att visa innehållet. När värdet för ReadCount ökar ökar den tid det tar att returnera den första raden, men den totala tiden för åtgärden minskar. Detta kan göra en märkbar skillnad i stora objekt.
Typ: | Int64 |
Position: | Named |
Standardvärde: | 1 |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Stream
Hämtar innehållet i den angivna alternativa NTFS-filströmmen från filen. Ange streamnamnet. Jokertecken stöds inte.
Stream är en dynamisk parameter som FileSystem-providern lägger till i cmdleten Get-Content
.
Den här parametern fungerar endast på filsystemenheter i Windows-system. Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Tail
Anger antalet rader från slutet av en fil eller ett annat objekt. Du kan använda parameternamnet Tail eller dess alias Last. Den här parametern introducerades i PowerShell 3.0.
Typ: | Int32 |
Alias: | Last |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-TotalCount
Anger antalet rader från början av en fil eller ett annat objekt. Standardvärdet är -1 (alla rader).
Du kan använda parameternamnet TotalCount eller dess alias, First eller Head.
Typ: | Int64 |
Alias: | First, Head |
Position: | Named |
Standardvärde: | -1 |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-UseTransaction
Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_Transactions.
Typ: | SwitchParameter |
Alias: | usetx |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Wait
Håller filen öppen när alla befintliga rader har matats ut. I väntan kontrollerar Get-Content
filen en gång i sekunden och matar ut nya rader om de finns. Du kan avbryta Vänta genom att trycka på CTRL+ C. Väntan avslutas också om filen tas bort, i vilket fall ett icke-avslutande fel rapporteras.
Wait är en dynamisk parameter som FileSystem-providern lägger till i cmdleten Get-Content
. Den här parametern fungerar bara på filsystemenheter.
Wait kan inte kombineras med Raw.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
System.Int64, System.String[], System.Management.Automation.PSCredential
Du kan skicka läsantalet, det totala antalet, sökvägarna eller autentiseringsuppgifterna till Get-Content
.
Utdata
System.Byte, System.String
Get-Content
returnerar strängar eller byte. Utdatatypen beror på vilken typ av innehåll du anger som indata.
Kommentarer
Cmdleten Get-Content
är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill hämta leverantörerna i sessionen använder du cmdleten Get-PSProvider
. Mer information finns i about_Providers.