株式会社シベスピ 従業員ブログ

シベスピの社員ブログ。技術・想い・経験沢山書いていきます!

コマンドプロンプトで遊ぶ ~ETと交信編~

お久しぶりです。SBです。
皆さんはコマンドプロンプトを使っていますでしょうか。
今回はコマンドプロンプトを使った簡単な遊びプログラムを作っていこうと思います。

少しマニアックな話になりますがご了承ください。
昔のSSL社のミキシングコンソール(レコーディングに使う音響機器です)にはwindowsコマンドプロンプトと同じような画面がありました。
その画面で打てるコマンドの中に、"ET"と入力するとETと交信できるという隠しコマンドがありました。
今回はそれを再現していこうと思います。


まずは音声ファイルを再生するバッチファイルを作成します。

@echo off
echo HELLO!
mshta "about: <object classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6"><param name='URL' value='[音声ファイルのパス]'><param name='autostart' value='true'></OBJECT><script>window.resizeTo(10,10);window.moveTo(10,10);setTimeout(function(){window.close()},[再生時間]);</script>"


次にコマンドプロンプトを立ち上げ、上で作ったバッチを呼び出すコマンドを登録してやります。

f:id:chivsp:20190519152728p:plain
ETコマンドの登録

doskey et=call [作成したバッチのパス]

呼び出してやるとこんな感じです。

f:id:chivsp:20190519152840p:plain
ETコマンドの実行

ただ、doskeyで登録したコマンドはコマンドプロンプトを閉じると消えてしまいます。
永続的に有効にする方法もあるんですが、今回は割愛させていただきます。

以上が今回のプログラムです。
元ネタの方ではHELLO(だったかな)と打ち返さないと無限に音が鳴り続ける仕様だったりするのですが、迷惑なのでやめておきます。
外国製品って、こういう遊び心があったりするのでマニュアル読むのもなかなか面白いですよね。


今回の記事を作るにあたって、以下のサイトを参考にさせていただきました。
バッチで,wavなどの音声を再生しよう (コマンドプロンプトから音を鳴らす方法) - 主に言語とシステム開発に関して
Windows Media Player