【问题标题】:why does Powershell Test-Path -Isvalid always returns true为什么 Powershell Test-Path -Isvalid 总是返回 true
【发布时间】:2018-05-10 09:12:39
【问题描述】:

基于文档 -IsValid 应该检查路径的语法是否正确。我为 Test-Path 放置的任何东西总是返回 true

表示此 cmdlet 测试路径的语法,而不管 路径的元素是否存在。此 cmdlet 在以下情况下返回 $True 路径语法有效,否则 $False

$val = Test-Path "sadfasdasdfasdf" -IsValid

【问题讨论】:

    标签: powershell


    【解决方案1】:

    可能看起来一切正常,但事实并非如此。 -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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2012-04-03
      相关资源
      最近更新 更多