技術系

バッチ(bat)でメッセージボックスの”はい”,”いいえ”を出力させる

バッチファイル(bat)でメッセージボックス「はい」「いいえ」の出力(ポップアップ)を1行で書く方法です。

単体テストでbatファイルを連携させるとき使います。

 

 

すごいと思ったらシェアorコメントください。

 

 

コマンド解説

長ったらしいコマンドなので、一応解説しておきます。ちょっとしたテクニックもあるので、応用できることがあるかも。

 

アンパサンド(&)ごとに区切って説明します。

アンパサンドの数について先に説明しておきます。

  • &  …連続してコマンドを実行する
  • &&  …前のコマンドが成功したら後続のコマンドを実行する


コマンドA & コマンドB
コマンドA && コマンドB

 

余談ですが、パイプ|を2つ使うと前のコマンド失敗時、後続のコマンドを実行します。

例)コマンドA || コマンドB

 

msgbox用のファイルをVBSで作成

ECHO msgbox "メッセージ内容",vbYesNoCancel,"タイトル部分" > %TEMP%/msgboxtest.vbs &

 

ECHOはbat標準のコマンド、VBSファイルに書き込み作成するため。

msgboxはVBSのコマンド用。

“メッセージ内容”はポップアップするメッセージの内容。

, vbYesNoCancelは「はい」「いいえ」メッセージとして扱う。ここをはVBSで使うvbInformation, vbExclamation などに変更可。

VBSのmsgbox関数の引数を設定すれば応用可。

 

作成したmsgboxtest.vbsを実行

%TEMP%/msgboxtest.vbs &&

VBSのプログラムを単体で実行しています。

 

Wait処理

ping -n 1 localhost > nul &&

%TEMP%/msgboxtest.vbs にファイルが生成されゴミとして残るので、削除したいです。しかし、処理が速すぎて実ファイルの生成が追い付かないことがあります。

そのためのWait処理としてpingを自身に打ち、標準出力されないようnulにリダイレクトします。

 

msgboxtest.vbsを削除する

rm %TEMP%/msgboxtest.vbs

%TEMP%/msgboxtest.vbsにファイルが残らないよう、削除します。

 

著作権フリーです

自分用のメモなので、再販しなければコピペして持って行ってください。

再販したらオコです。

気に入ってくれたらSNSでシェアしてください。

 

 

社畜系インフラエンジニアブログのTOPへ戻る

コメントもらえたら泣いて喜びます!
  • この記事を書いた人
  • 最新記事
kanade

kanade

IT関連の仕事に従事し気付けば10余年。好きな言葉は「よくわからないけど動いてる」です。どうにかして生き残りたいアラフォーのIT系エンジニア。

-技術系
-

Copyright© インフラエンジニアブログカナデ , 2020 All Rights Reserved.