根据文档 -IsValid 应该检查路径的语法是否正确。我为测试路径放置的任何内容它总是返回 true
指示此 cmdlet 测试路径的语法,无论路径的元素是否存在。如果路径语法有效,则此 cmdlet 返回 $True;如果无效,则返回 $False
$val = Test-Path "sadfasdasdfasdf" -IsValid
Run Code Online (Sandbox Code Playgroud)
看起来似乎一切都很顺利,但事实并非如此。唯一-IsValid进行语法检查。语法没有任何问题:"sadfasdasdfasdf"很可能是当前目录中的子目录。
例如,以下路径使用了不正确的语法,因此无效:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1213 次 |
| 最近记录: |