Berdasarkan dokumentasi -IsValid seharusnya memeriksa apakah sintaks jalur sudah benar. Apa pun yang saya masukkan untuk Test-Path selalu kembali benar

Menunjukkan bahwa cmdlet ini menguji sintaks jalur, terlepas dari apakah elemen jalur ada. Cmdlet ini mengembalikan $True jika sintaks jalur valid dan $False jika tidak

$val = Test-Path "sadfasdasdfasdf" -IsValid
1
kumar 27 November 2017, 10:24

1 menjawab

Jawaban Terbaik

Ini mungkin terlihat seperti semuanya berjalan, tapi bukan itu masalahnya. -IsValid hanya melakukan pemeriksaan sintaks. Tidak ada yang salah dengan sintaks: "sadfasdasdfasdf" bisa jadi merupakan subdirektori dalam direktori saat ini.

Misalnya, jalur berikut menggunakan sintaks yang salah dan karenanya tidak valid:

PS C:\> Test-Path "foo>bar" -IsValid # Redirection in path
False
PS C:\> Test-Path "foo:bar" -IsValid # Edge case, HKLM:USER would be valid
False
PS C:\> Test-Path "foo|bar" -IsValid # Pipe in path
False
4
vonPryz 27 November 2017, 07:56