1. ホーム
  2. ウィンドウズ

[解決済み】PowerShellで条件を否定する方法は?

2022-03-26 23:49:20

質問

PowerShellで条件付きテストを否定する方法は?

例えば、C:⇄Codeというディレクトリがあるか調べたい場合、実行できます。

if (Test-Path C:\Code){
  write "it exists!"
}

その条件を否定する方法、例えば(不稼働)などはないのでしょうか。

if (Not (Test-Path C:\Code)){
  write "it doesn't exist!"
}


ワークアラウンド :

if (Test-Path C:\Code){
}
else {
  write "it doesn't exist"
}

これは問題なく動作しますが、私はインラインのものを希望します。

解決方法は?

でほぼ決まりましたね。 Not . そうであるべきだ。

if (-Not (Test-Path C:\Code)) {
    write "it doesn't exist!"
} 

を使用することもできます。 ! : if (!(Test-Path C:\Code)){}

面白半分に、ビット単位の排他的論理和を使うこともできますが、これは最も読みやすく理解しやすい方法ではありません。

if ((test-path C:\code) -bxor 1) {write "it doesn't exist!"}