こんにちは、今回はバッチ処理終了後に音を鳴らすには?という記事になります。
バッチ処理が終了した時に(またはエラー分岐時などでも)、音を鳴らしてお知らせが欲しい!という時がありました。今回は、その中で検討して困った事、解決したことなどをまとめていこうと思います。
それでは、いってみましょう!
startコマンドで音を再生する
batファイル内で音声を再生するには、単純に音楽ファイルをスタートさせればよいです。パソコンによって、その音楽に紐づいているアプリケーションで起動します。
start "C:\Windows\Media\Alarm01.wav"
これは、Windowsに内蔵されているアラーム音なのですが、そのファイルを起動しています。私のパソコンの場合、Windows Media Playerが起動し、音が再生されました。
気になる点:バッチコマンドでWindows Media Playerが終了できない
ただ、音楽プレイヤー(今回の場合はWindows Media Playerの話になりますが)をコマンドで閉じることができず、音楽が鳴った後Windows Media Playerのような音メディアのアプリケーションが起動したまま画面にのこった状態に。「×」の終了ボタンで終了しなければいけないな、と思いました。
Windows Media Playerを閉じるコマンド、タスクを終了するコマンドも試してみました。
ですが、タスクが上手く終了できなかったり(名前の指定方法が悪いのか。)、「/close」オプションについては今現在は使えなかったり(昔は使えていた)で、メディアプレイヤーを閉じるという作業がコマンドでは上手くいきませんでした。
音を再生するVBScriptをバッチファイルから呼び出すことで解決
①wavファイルを再生するVBScriptを作成
以下のサイトを参考に、音を再生するVBScriptを作成しました。(素敵なコードをありがとうございます。)
上記サイトのスクリプトをコピーして、メモ帳などのテキストエディタへ貼り付け、「playSound.vbs」などという名前でVBScriptファイルとして保存しておきます。
②VBScriptをバッチファイルから呼び出す
あとは、音を鳴らしたいバッチ処理の最終行にvbs名をそのまま記載すれば、先ほど作成したVBScriptが呼び出され音が再生されます。例えば、playSound.vbsというVBScriptファイルがあるのであれば、以下のようにバッチファイルに記載します。
C:\Users\****\Desktop\playSound.vbs
バッチファイルの一行にファイルのフルパスを指定してあげるだけで実行されます。(フルパスでなくても、同じフォルダに配置してあるのであれば"playSound.vbs"だけでも。)
さいごに
いかがだったでしょうか。同じような疑問を持たれてる方の参考に少しでもなれば幸いです。それでは、また!