さまざまな目的でバッチ スクリプトを作成しており、コマンドが完了したら結果を宣言するメッセージ ダイアログが表示されるようにしたいと考えています。
たとえば、スクリプトで特定のオブジェクトを削除する場合、ユーザー定義のダイアログを表示したいと思います。ウィンドウのタイトルとテキスト値には次の形式を使用します。
x=msgbox("%MESSAGE%" ,0, "%TITLE%")
これを(上記)スクリプトに追加して表示するにはどうすればよいですか?後タスク(下記)は完了しましたか?
rmdir "%TARGETPATH%
答え1
コマンドを使うことができますリダイレクション&&
またはを使用すると、最初のコマンドが完了した後に続行コマンドを実行できます。最初のコマンドが成功した後に続行コマンドを実行するように設定すること&
も、最初のコマンドの結果に関係なく最初のコマンドの実行直後に続行コマンドを実行するように設定することもできます。
コツはバッチスクリプトにVBを配置することですメッセージボックス関数とそれが使用する適用可能な値を一時スクリプトに組み込み、後でスクリプト。
これはサードパーティのツールをインストールしなくてもすぐに使えるはずなので、ウィンドウズネイティブ。
バッチスクリプト
注記: SET x=msgbox "%TITLE%",0,"%MESSAGE%"
これを機能させるには、現在の構文ではなくの構文を使用する必要がありますが、これはわずかな調整にすぎません。
@ECHO ON
:Routine1
SET TARGETPATH=C:\Path\Folder
SET COMMAND=rmdir "%TARGETPATH%
SET TITLE=This is my message title
SET MESSAGE=This is my message body
SET tmpmsgbox=%temp%\~tmpmsgbox.vbs
SET x=msgbox "%MESSAGE%",0,"%TITLE%"
ECHO %x%>"%tmpmsgbox%"
%COMMAND% && WSCRIPT "%tmpmsgbox%"
EXIT
commandA & commandB Run commandA and then run commandB commandA && commandB Run commandA, if it succeeds then run commandB