PowerShell:
Đọc một tệp văn bản

Làm thế nào:

Hãy bắt đầu với những điều cơ bản! Dưới đây là cách bạn đọc từ một tệp văn bản trong PowerShell:

# Lấy nội dung của một tệp
$content = Get-Content -Path "C:\duongdan\den\tap\xin_ban.txt"
# Hiển thị nội dung trong bảng điều khiển
Write-Output $content

Đầu ra mẫu có thể trông như thế này nếu tệp của bạn chứa vài dòng văn bản:

Xin chào, PowerShell!
Kết thúc tệp.

Bây giờ, bạn muốn đọc từng dòng một?

# Đọc tệp từng dòng một
$lines = Get-Content -Path "C:\duongdan\den\tap\xin_ban.txt" -ReadCount 0
foreach ($line in $lines) {
    Write-Output $line
}

Đầu ra mẫu giống như trên, nhưng được xử lý từng dòng một.

Tìm hiểu sâu

Lâu trước khi có PowerShell, các công cụ dòng lệnh như cat trong các hệ thống giống UNIX hoặc type trong DOS là cách thức đầu tiên để đọc tệp. Get-Content của PowerShell là công cụ sắc bén cho việc này ngày nay, với những lợi ích bổ sung như đọc từng dòng, giúp tránh quá tải bộ nhớ với các tệp lớn.

Ngoài Get-Content, chúng ta còn có các lớp .NET để kiểm soát nhiều hơn - nhập System.IO.StreamReader:

$stream = [System.IO.StreamReader] "C:\duongdan\den\tap\xin_ban.txt"
try {
    while ($line = $stream.ReadLine()) {
        Write-Output $line
    }
}
finally {
    $stream.Close()
}

Đây là một phương thức hiệu quả về bộ nhớ, hỗ trợ cho những bản văn khổng lồ.

Có lựa chọn khác không? Có, bạn có thể sử dụng Import-Csv cho các tệp CSV hoặc ConvertFrom-Json cho JSON, nếu bạn muốn chuyển dữ liệu vào các đối tượng có cấu trúc. Nhưng hãy gắn bó với Get-Content cho những thứ văn bản thô.

Xem thêm

Truy cập tài liệu chính thức để biết thêm thông tin: