Kiểm tra xem thư mục có tồn tại không

PowerShell:
Kiểm tra xem thư mục có tồn tại không

Làm thế nào:

Sử dụng cmdlet Test-Path để kiểm tra sự tồn tại của một thư mục. Cmdlet này trả về một boolean: $true nếu thư mục tồn tại, và $false nếu nó không tồn tại.

# Kiểm tra xem một thư mục có tồn tại không
$directoryPath = "C:\ExampleFolder"
$exists = Test-Path $directoryPath
Write-Output $exists  # In ra True hoặc False

Kết quả mẫu:

True

hoặc nếu thư mục không tồn tại:

False

Bạn cũng có thể sử dụng nó trực tiếp trong một câu lệnh if:

# Sử dụng Test-Path trong một câu lệnh if
if (Test-Path $directoryPath) {
    Write-Output "Yep, nó ở đó."
} else {
    Write-Output "Nope, không tìm thấy."
}

Tìm hiểu sâu

Cmdlet Test-Path đã có từ PowerShell v1.0. Nó không chỉ là một ‘chú ngựa một chiêu’; bên cạnh việc kiểm tra thư mục, nó cũng có thể được sử dụng để kiểm tra tệp tin, khóa đăng ký, và các mục khác thông qua các ‘đường dẫn’ khác nhau.

Có những phương án thay thế. PowerShell được xây dựng dựa trên .NET Framework, vì vậy bạn có thể chuyển xuống sử dụng các phương pháp .NET nếu muốn:

[system.io.directory]::Exists($directoryPath)

Phương pháp này phục vụ cùng một mục đích nhưng tiếp cận theo cách “vòng vo”. Tại sao phải bận tâm, khi Test-Path đã được tạo ra cho công việc này?

Về mặt triển khai, việc kiểm tra một thư mục trước khi thực hiện các hoạt động là một phương pháp hay nhất. Nói về việc dự đoán được. Bạn sẽ không đua xe với bình xăng trống, phải không? Vậy bạn cũng không nên đọc từ hoặc ghi vào một thư mục không tồn tại.

Xem thêm

Để biết thêm thông tin, hãy tìm hiểu qua các liên kết này: