- ベストアンサー
コマンドプロンプトで処理時間をカウント
こんばんは。バッチ処理についてお教え下さい。 例えばあるexeを起動するバッチを1行で書くとします。 そのバッチを実行するとコマンドプロンプトが表示され起動しおわったらプロンプトは閉じます。 プロンプトが消えるまで、「.」を1こつづ増やしていきたいと思います。 Forループを使えばいいような気がするのですが、どのように文を書けばよいかわかりません。 やりたいことは、プロンプトが表示されている時、ユーザーは正しく動いているのかわかりません。 そこで「.」を1こづつ増やせばプログラムが動いていることがユーザーにわかると思うので、そのようにしたいです。 ご教授お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どうしてもBATファイルでやらなきゃダメ? 自分ならWSHを使いますが。。。 以下をテキストエディタにペーストして、ファイル名を例えばrun.vbsで保存 ------- ここから ------------------------------------------ Dim WshShell, oExec, t0 Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("あるexe") t0 = Timer Do While oExec.Status = 0 if (Timer - t0) > 1.0 then t0 = Timer WScript.StdOut.Write "." End If Loop WScript.StdOut.Write vbCr ------- ここまで ------------------------------------------ コマンドプロンプトから cscript run.vbs と打ち込んで実行する
その他の回答 (1)
- ex_hmmt
- ベストアンサー率48% (726/1485)
ちょっと実際確認してないですが、 (1)STARTコマンドで別プロセスとして「あるexe」を呼び出す (2)「あるexe」が実行されているかをTASKLISTで確認する 確認方法は以下のサイトなどを参考に http://takaq1.plala.jp/contents/windows/proces_test/index.html (3)実行されていたら「.」を画面に出力 されていなかったら終了をIF文で構築(ここも上記サイトの応用で可能だろうと思う) とかでやれば行けるんじゃないかと思います。
お礼
すごい!できました!!ありがとうございます!感謝です!!
お礼
すごい!できました!!ありがとうございます!感謝です!!