【发布时间】:2018-05-10 09:12:39
【问题描述】:
基于文档 -IsValid 应该检查路径的语法是否正确。我为 Test-Path 放置的任何东西总是返回 true
表示此 cmdlet 测试路径的语法,而不管 路径的元素是否存在。此 cmdlet 在以下情况下返回 $True 路径语法有效,否则 $False
$val = Test-Path "sadfasdasdfasdf" -IsValid
【问题讨论】:
标签: powershell
基于文档 -IsValid 应该检查路径的语法是否正确。我为 Test-Path 放置的任何东西总是返回 true
表示此 cmdlet 测试路径的语法,而不管 路径的元素是否存在。此 cmdlet 在以下情况下返回 $True 路径语法有效,否则 $False
$val = Test-Path "sadfasdasdfasdf" -IsValid
【问题讨论】:
标签: powershell
可能看起来一切正常,但事实并非如此。 -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
【讨论】: