エラーが発生した後も .bat ファイルを続行するにはどうすればいいですか

エラーが発生した後も .bat ファイルを続行するにはどうすればいいですか

Windowsに3つのことを実行する.batファイルがあります

cmd1 arg1 arg2
cmd2 arg3 
cmd3 arg4 arg5 arg6

時々 cmd1 が失敗することがあり、それは問題ありません。続行して cmd2 と cmd3 を実行したいのですが、bat が cmd1 で停止します。どうすればこれを回避できますか?

アップデート明確にするために言っておきますが、これらは他の .bat ファイルではなく、exe コマンドです。これを実現するために .bat ファイルのツリーを構築する必要がないことを願っています。

答え1

もう一つの選択肢は、アンペアスタンド(&)を使うことです。

cmd1 & cmd2 & cmd3

ダブルを使用する場合は、前のコマンドが正常に完了した場合にのみ続行されます(%ERRORLEVEL%==0

cmd1 && cmd2 && cmd3

二重パイプ(||)を使用すると、前のコマンドがエラーコード(%ERRORLEVEL% NEQ 0)で完了した場合にのみ次のコマンドが実行されます。

cmd1 || cmd2 || cmd3

答え2

これは私にとってはうまくいきました:

cmd.exe /c cmd1 arg1
cmd2
...

これは、cmd.exeWindows コマンド インタープリターの新しいインスタンスでコマンドを実行するために使用されます。これにより、失敗したコマンドによってバッチ スクリプトが中断されることはありません。この/cフラグは、コマンドの実行が完了するとすぐにインタープリターを終了するように指示します。

cmd2最初のコマンドが失敗した場合でも実行されます。cmd /?詳細については、Windows コマンド プロンプトを参照してください。

答え3

cmd が他の .bat ファイルであると仮定すると、コマンドは次のようにスタックされます。

 call cmd1
 call cmd2
 call cmd3

答え4

追加するにはカナダ人ルークの答えスクリプトをもう少し整理したい場合は、^次のように、スクリプト内の新しい行でコマンド チェーンを継続するために を使用できます。

scoop install windows-terminal & ^
scoop install joplin & ^
scoop install neovim & ^
scoop install autohotkey & ^
... & ^
scoop update -a

醜いものの代わりに

scoop install windows-terminal & scoop install joplin & scoop install neovim & ...

関連情報