Bagikan melalui


Get-Content

Mendapatkan konten item di lokasi yang ditentukan.

Sintaks

Path (Default)

Get-Content
    [-Path] <String[]>
    [-ReadCount <Int64>]
    [-TotalCount <Int64>]
    [-Tail <Int32>]
    [-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 <Int64>]
    [-TotalCount <Int64>]
    [-Tail <Int32>]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [-Delimiter <String>]
    [-Wait]
    [-Raw]
    [-Encoding <FileSystemCmdletProviderEncoding>]
    [-Stream <String>]
    [<CommonParameters>]

Deskripsi

cmdlet Get-Content mendapatkan konten item di lokasi yang ditentukan oleh jalur, seperti teks dalam file atau konten fungsi. Untuk file, konten dibaca satu baris sekaligus dan mengembalikan kumpulan objek, masing-masing mewakili baris konten.

Dimulai di PowerShell 3.0, Get-Content juga bisa mendapatkan jumlah baris tertentu dari awal atau akhir item.

Contoh

Contoh 1: Mendapatkan konten file teks

Contoh ini mendapatkan isi file di direktori saat ini. File LineNumbers.txt memiliki 100 baris dalam format Ini adalah Baris X dan digunakan dalam beberapa contoh.

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.

Nilai array 1-100 dikirimkan melalui alur ke cmdlet ForEach-Object. ForEach-Object menggunakan blok skrip dengan Add-Content cmdlet untuk membuat LineNumbers.txt file. Variabel $_ mewakili nilai array ketika setiap objek dikirim melalui jalur pemrosesan. Cmdlet Get-Content menggunakan parameter Jalur untuk menentukan file LineNumbers.txt dan menampilkan konten di konsol PowerShell.

Contoh 2: Batasi jumlah baris yang Get-Content hasilkan

Perintah ini mengambil lima baris pertama dari sebuah file. Parameter TotalCount mendapatkan lima baris konten pertama. Contoh ini menggunakan LineNumbers.txt yang dirujuk dalam Contoh 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

Contoh 3: Mendapatkan baris konten tertentu dari file teks

Perintah ini mendapatkan jumlah baris tertentu dari file lalu hanya menampilkan baris terakhir konten tersebut. Parameter TotalCount mengambil 25 baris konten pertama. Contoh ini menggunakan file LineNumbers.txt yang dirujuk dalam Contoh 1.

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

Perintah Get-Content dibungkus dalam tanda kurung sehingga perintah selesai sebelum masuk ke langkah berikutnya. Get-Contentmengembalikan array baris, ini memungkinkan Anda menambahkan notasi indeks setelah tanda kurung untuk mengambil nomor baris tertentu. Dalam hal ini, indeks [-1] menentukan indeks terakhir dalam array yang dikembalikan dari 25 baris yang diambil.

Contoh 4: Mendapatkan baris terakhir file teks

Perintah ini mendapatkan baris konten terakhir dari file. Contoh ini menggunakan file LineNumbers.txt yang dibuat di Contoh 1.

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

Contoh ini menggunakan cmdlet Get-Item untuk menunjukkan bahwa Anda dapat menyalurkan file ke Get-Content. Parameter Tail mengambil baris terakhir dari file. Metode ini lebih cepat daripada mengambil semua baris dalam variabel dan menggunakan notasi indeks [-1].

Contoh 5: Mendapatkan konten aliran data alternatif

Contoh ini menjelaskan cara menggunakan parameter Stream untuk mendapatkan konten aliran data alternatif untuk file yang disimpan pada volume Windows NTFS. Dalam contoh ini, cmdlet Set-Content digunakan untuk membuat konten sampel dalam file bernama 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 stream.
# Note the single quotes to prevent variable substitution.
Get-Content -Path .\Stream.txt -Stream ':$DATA'
This is the content of the Stream.txt file
# Alternative way to get the same content.
Get-Content -Path .\Stream.txt -Stream ""
# The primary stream doesn't need to be specified to get the primary stream of the file.
# This gets the same data as the prior two examples.
Get-Content -Path .\Stream.txt
This is the content of the Stream.txt file
# Use the Stream parameter of Add-Content to create a new Stream containing sample content.
$addContentSplat = @{
    Path = '.\Stream.txt'
    Stream = 'NewStream'
    Value = 'Added a stream named NewStream to Stream.txt'
}
Add-Content @addContentSplat

# 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

Parameter Stream adalah parameter dinamis dari penyedia FileSystem . Secara default Get-Content hanya mengambil data dari aliran default, atau :$DATA. Streams dapat digunakan untuk menyimpan data tersembunyi seperti atribut, pengaturan keamanan, atau data lainnya. Mereka juga dapat disimpan di direktori tanpa menjadi item turunan.

Contoh 6: Mendapatkan konten mentah

Perintah dalam contoh ini mendapatkan konten file sebagai satu string, bukan array string. Secara default, tanpa parameter dinamis Raw, konten dikembalikan sebagai array string yang dibatasi baris baru. Contoh ini menggunakan file LineNumbers.txt yang dirujuk dalam Contoh 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.

Contoh 7: Menggunakan Filter dengan Get-Content

Anda dapat menentukan filter ke cmdlet Get-Content. Saat menggunakan filter untuk memenuhi syarat parameter Jalur , Anda perlu menyertakan tanda bintang di belakang (*) untuk menunjukkan isi jalur tersebut.

Perintah berikut mendapatkan konten semua file *.log di direktori C:\Temp.

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

Contoh 8: Mengambil isi file sebagai array byte

Contoh ini menunjukkan cara mendapatkan konten file sebagai [byte[]] sebagai objek tunggal.

$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)

Perintah pertama menggunakan parameter Pengodean untuk mendapatkan aliran byte dari file. Parameter Raw memastikan bahwa byte dikembalikan sebagai [System.Byte[]]. Jika parameter Raw tidak ada, nilai yang dikembalikan adalah aliran byte, yang ditafsirkan oleh PowerShell sebagai [System.Object[]].

Parameter

-Credential

Nota

Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain, atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.

Properti parameter

Jenis:PSCredential
Nilai default:Current user
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Delimiter

Menentukan pemisah yang Get-Content gunakan untuk membagi file menjadi objek saat dibaca. Defaultnya adalah \n, karakter akhir baris. Saat membaca file teks, Get-Content mengembalikan kumpulan objek string, masing-masing berakhiran dengan karakter akhir baris. Saat Anda memasukkan pemisah yang tidak ada dalam file, Get-Content mengembalikan seluruh file sebagai objek tunggal yang tidak dibatasi.

Anda dapat menggunakan parameter ini untuk membagi file besar menjadi file yang lebih kecil dengan menentukan pemisah file, sebagai pemisah. Pemisah dipertahankan (tidak dibuang) dan menjadi item terakhir di setiap bagian file.

Pemisah adalah parameter dinamis yang penyedia FileSystem tambahkan ke cmdlet Get-Content. Parameter ini hanya berfungsi pada drive sistem berkas.

Nota

Saat ini, ketika nilai parameter pemisah adalah string kosong, Get-Content tidak mengembalikan apa pun. Ini adalah masalah yang sudah diketahui. Untuk memaksa Get-Content mengembalikan seluruh file sebagai string tunggal yang tidak dibatasi. Masukkan nilai yang tidak ada dalam file.

Properti parameter

Jenis:String
Nilai default:End-of-line character
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Encoding

Menentukan jenis pengodean untuk file target. Nilai defaultnya adalah Default.

Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:

  • Ascii Menggunakan set karakter ASCII (7-bit).
  • BigEndianUnicode Menggunakan UTF-16 dengan urutan byte big-endian.
  • BigEndianUTF32 Menggunakan UTF-32 dengan urutan byte big-endian.
  • Byte Mengodekan sekumpulan karakter ke dalam urutan byte.
  • Default Menggunakan pengodean yang sesuai dengan halaman kode aktif sistem (biasanya ANSI).
  • Oem Menggunakan pengodean yang sesuai dengan halaman kode OEM sistem saat ini.
  • String Sama seperti Unicode.
  • Unicode Menggunakan UTF-16 dengan urutan byte little-endian.
  • Unknown Sama seperti Unicode.
  • UTF7 Menggunakan UTF-7.
  • UTF8 Menggunakan UTF-8.
  • UTF32 Menggunakan UTF-32 dengan urutan byte little-endian.

"Penyedia FileSystem menambahkan pengodean sebagai parameter dinamis ke cmdlet Get-Content." Parameter ini hanya berfungsi pada drive sistem berkas.

Saat membaca dari dan menulis ke file biner, gunakan nilai Byte untuk parameter Pengodean dan nilai 0 untuk parameter ReadCount. Nilai ReadCount 0 membaca seluruh file dalam satu operasi baca dan mengonversinya menjadi satu objek (PSObject). Nilai ReadCount default, 1, membaca satu byte di setiap operasi baca dan mengonversi setiap byte menjadi objek terpisah, yang menyebabkan kesalahan saat Anda menggunakan cmdlet untuk menulis byte ke file.

Properti parameter

Jenis:FileSystemCmdletProviderEncoding
Nilai default:Default
Nilai yang diterima:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Exclude

Menentukan item atau item-item yang tidak akan disertakan dalam operasi oleh cmdlet ini, dalam bentuk array string. Nilai parameter ini memenuhi syarat parameter Jalur.

Masukkan elemen atau pola jalur, seperti *.txt. Karakter pengganti diizinkan.

Parameter Exclude hanya efektif ketika perintah menyertakan konten suatu item, seperti C:\Windows\*, di mana karakter wildcard menentukan konten direktori C:\Windows.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Filter

Menentukan filter untuk mengkualifikasi parameter Jalur . Penyedia FileSystem adalah satu-satunya penyedia PowerShell yang diinstal yang mendukung penggunaan filter. Anda dapat menemukan sintaks untuk bahasa filter FileSystem dalam about_Wildcards. Filter lebih efisien dibandingkan parameter lainnya, karena penyedia menerapkannya ketika cmdlet mendapatkan objek, bukan PowerShell yang menyaring objek setelah mereka diambil.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Force

Force dapat mengambil alih atribut baca-saja atau membuat direktori untuk menyelesaikan jalur file. Parameter Force tidak mencoba mengubah izin file atau mengambil alih pembatasan keamanan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Include

Menentukan item atau beberapa item dalam bentuk array string yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Jalur. Masukkan elemen atau pola jalur, seperti "*.txt". Karakter pengganti diizinkan. Parameter Sertakan hanya efektif ketika perintah menyertakan konten item, seperti C:\Windows\*, di mana karakter wildcard menentukan konten direktori C:\Windows.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-LiteralPath

Menentukan jalur ke satu atau beberapa lokasi. Nilai LiteralPath digunakan persis seperti yang diketik. Tidak ada karakter yang ditafsirkan sebagai wildcard. Jika jalur menyertakan karakter escape, bungkus jalur tersebut dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

Untuk informasi lebih lanjut, lihat about_Quoting_Rules.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:PSPath

Kumpulan parameter

LiteralPath
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Path

Menentukan jalur ke item tempat Get-Content mendapatkan konten. Karakter pengganti diizinkan. Jalur harus berupa jalur menuju item, bukan menuju kontainer. Misalnya, Anda harus menentukan jalur ke satu atau beberapa file, bukan jalur ke direktori.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

Path
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Raw

Mengabaikan karakter baris baru dan mengembalikan seluruh konten file dalam satu string dengan baris baru yang dipertahankan. Secara default, karakter baris baru dalam file digunakan sebagai pemisah untuk memisahkan input menjadi array string. Parameter ini diperkenalkan di PowerShell 3.0.

Raw adalah parameter dinamis yang ditambahkan penyedia FileSystem ke cmdlet Get-Content Parameter ini hanya berfungsi di drive sistem file.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ReadCount

Menentukan berapa banyak baris konten yang dikirim melalui alur pada satu waktu. Nilai defaultnya adalah 1. Nilai 0 (nol) atau angka negatif mengirimkan semua konten pada satu waktu.

Parameter ini tidak mengubah konten yang ditampilkan, tetapi memengaruhi waktu yang diperlukan untuk menampilkan konten. Ketika nilai ReadCount meningkat, waktu yang diperlukan untuk mengembalikan baris pertama meningkat, tetapi total waktu untuk operasi menurun. Ini dapat membuat perbedaan yang terlihat dalam item besar.

Properti parameter

Jenis:Int64
Nilai default:1
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Stream

Mendapatkan konten aliran file NTFS alternatif yang ditentukan dari file. Masukkan nama aliran. Karakter pengganti tidak didukung.

Stream adalah parameter dinamis yang ditambahkan penyedia FileSystem ke cmdlet Get-Content. Parameter ini hanya berfungsi dalam drive sistem file pada sistem Windows.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Tail

Menentukan jumlah baris dari akhir file atau item lainnya. Anda dapat menggunakan nama parameter Tail atau aliasnya, Last. Nilai negatif menyebabkan cmdlet mengembalikan seluruh konten.

Parameter ini diperkenalkan di PowerShell 3.0.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:Terakhir

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-TotalCount

Menentukan jumlah baris dari awal file atau item lainnya. Nilai negatif menyebabkan cmdlet mengembalikan seluruh konten.

Anda dapat menggunakan nama parameter TotalCount atau aliasnya, Pertama atau Kepala.

Properti parameter

Jenis:Int64
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:Pertama, Kepala

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-UseTransaction

Menyertakan perintah dalam transaksi aktif. Parameter ini hanya valid ketika transaksi sedang berlangsung. Untuk informasi selengkapnya, lihat about_Transactions.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:usetx

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Wait

Menyebabkan cmdlet menunggu tanpa batas waktu dengan menjaga file tetap terbuka sampai dihentikan. Saat menunggu, Get-Content memeriksa file sekali per detik dan menghasilkan baris baru jika ada. Saat digunakan dengan parameter TotalCount, Get-Content menunggu hingga jumlah baris yang ditentukan tersedia dalam file yang ditentukan. Misalnya, jika Anda menentukan TotalCount 10 dan file sudah memiliki 10 baris atau lebih, Get-Content mengembalikan 10 baris dan keluar. Jika file memiliki kurang dari 10 baris, Get-Content menghasilkan setiap baris saat tiba, tetapi menunggu hingga baris kesepuluh tiba sebelum keluar.

Anda dapat mengganggu Tunggu dengan menekan Ctrl+C. Menghapus file menyebabkan kesalahan tidak mengakhiri yang juga mengganggu penantian.

Wait adalah parameter dinamis yang ditambahkan penyedia FileSystem ke cmdlet Get-Content. Parameter ini hanya berfungsi pada drive sistem berkas. Wait tidak dapat dikombinasikan dengan Raw.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

Int64

Anda dapat menyalurkan jumlah baca atau jumlah total ke cmdlet ini.

String

Anda dapat menyalurkan jalur ke cmdlet ini.

PSCredential

Anda dapat menyalurkan kredensial ke cmdlet ini.

Output

Byte

Saat Anda menggunakan parameter AsByteStream, cmdlet ini mengembalikan konten sebagai byte.

String

Secara default, cmdlet ini mengembalikan konten sebagai array string, satu per baris. Saat Anda menggunakan parameter Raw, parameter mengembalikan satu string yang berisi setiap baris dalam file.

Catatan

Windows PowerShell menyertakan alias berikut untuk Get-Content:

  • cat
  • gc
  • type

Cmdlet Get-Content dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mendapatkan penyedia dalam sesi Anda, gunakan cmdlet Get-PSProvider. Untuk informasi selengkapnya, lihat tentang_Penyedia.