Get-Content trong PowerShell

by Khánh Linh

14/09/2021, 9:06 AM   |    14/09/2021, 9:06 AM   |    1.3K   |    0

Get-Content là lệnh lấy về nội dung của một tệp có trong đường dẫn được chỉ định. Đối với các tệp, nội dung được đọc từng dòng một và trả về một tập hợp các đối tượng, mỗi đối tượng đại diện cho một dòng nội dung.


Ví dụ 1: Lấy nội dung của một tệp văn bản
 
1..100 | ForEach-Object { Add-Content -Path "C:\demo\Hello.txt" -Value "Dong thu $_." }

Get-Content -Path "C:\demo\Hello.txt"


- Ở ví dụ trên, dòng đầu tiên dùngForEach-Object kết hợp với Add-Content để thêm nội dung vào file Hello.txt, file
Hello.txt sẽ có 100 dòng.
- Lệnh thứ 2 lấy ra nội dung của file Hello.txt.


Ví dụ 2: Giới hạn số dòng trả về
Sử dụng TOTALCOUNT  để nhận được số dòng muốn lấy.
 
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


Ví dụ 3: Nhận một dòng cụ thể nào đó
Lấy 25 dòng đầu tiên, sau đó hiển thị dòng cuối cùng (Dòng thứ 25)
 
(Get-Content -Path .\LineNumbers.txt -TotalCount 25)[-1]

This is Line 25


Ví dụ 4: Lấy dòng cuối cùng của tệp
 
Get-Content -Path "C:\demo\Hello.txt" -Tail 1

- Tham số Tail lấy số dòng cuối cùng.


VÍ dụ 5: Lấy nội dung tệp dưới dạng Byte
$byteArray = Get-Content -Path C:\temp\test.txt -AsByteStream -Raw
Get-Member -InputObject $bytearray

TypeName: System.Byte[]

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