bg & twait


Windows でバッチファイルを作っていた時のことです。 あるプログラムを呼び出すと終了させるまで帰ってきません。 そのプログラムの起動後、別のプログラムを動かしたいので、 unix みたいに行末に & をつけてみたのですが失敗しました。 いろいろ調べた結果 start というコマンドでできることは分かったのですが、 呼び出したプログラムを終了させないと、 バッチファイル起動時に表示されたコマンドプロンプトが消えず美しくありません。

という訳でペペッと作ってしまったのがこれです。

bg [コマンド] [引数]
と書くと引数付きでコマンドが別プロセスで実行されます。 コマンド内に空白がある場合はダブルコーテーションで括ってください。 c:\windows\system32 の下にでも置いておくといいでしょう。

ところが実際作って使って見ると、 本プログラムによって最初のプログラムが呼び出された後、 次のプログラムが起動するのが早すぎ失敗することが多々ありました。 そんなまじめなものじゃ無いので単に数秒 wait をかけてお茶を濁そうかと思ったのですが、これまたそんなコマンドがありません。

という訳でそういうのも作ってしまいました。

twait [時間]
と書くと時間分止まります。なお単位はミリ秒ですが精度は 100ms です。 また、時間内で停止中でもキーボードを叩くと処理が続行します。


[戻る]