1. ホーム
  2. syntax

[解決済み】PowerShellで"&&"や"-and "を動作させることはできますか?

2022-04-03 08:42:55

質問

&& は、Google検索で検索しにくいことで有名ですが、私が見つけたベストは この記事 を使用するようにと書かれています。 -and .

残念ながら、これ以上の情報は得られません。 -and (これまた検索が難しいことで有名です)。

私が使おうとしているコンテキストは "cmd1を実行し、成功したらcmd2を実行"、基本的にこれです。

csc /t:exe /out:a.exe SomeFile.cs && a.exe


単に一行で複数のコマンドを実行したいだけで、最初のコマンドが失敗しても気にしないのであれば ; 私のほとんどの用途では、これで問題ありません。

例えば kill -n myapp; ./myapp.exe .

解決方法は?

CMDの「&&」は「コマンド1を実行し、成功したらコマンド2"」を意味します。 などに使っています。

build && run_tests

PowerShellでは、一番近いのは。

(build) -and (run_tests)

同じロジックですが、コマンドからの出力テキストは失われています。 もしかしたら、これで十分なのかもしれませんが。

スクリプトで行う場合は、このように文を分けた方がよいでしょう。

build
if ($?) {
    run_tests
}

2019/11/27 : の && 演算子が PowerShell 7 プレビュー 5 以上 :

PS > echo "Hello!" && echo "World!"
Hello!
World!