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: