在 PowerShell 中是否有一种更简洁、更不容易出错的方法来检查路径是否不存在?
对于这样一个常见的用例来说,这实在是太冗长了:
if (-not (Test-Path $path)) { ... }
if (!(Test-Path $path)) { ... }
它需要太多的括号,并且在检查“不存在”时不是很易读。它也容易出错,因为这样的语句:
if (-not $non_existent_path | Test-Path) { $true } else { $false }
将实际返回 False
,当用户可能期望 True
。
有什么更好的方法吗?
更新1: 我目前的解决方案是为 exist
和 not-exist
使用别名,正如解释的 给你。
更新2: 一个提议的语法也将修复这个问题,它允许以下语法:
if !(expr) { statements* }
if -not (expr) { statements* }
下面是 PowerShell 存储库中的相关问题(请投票) : https://github.com/PowerShell/PowerShell/issues/1970