• ベストアンサー

バッチ処理時のコマンドウィンドウについて

XPで、バッチファイル(.bat)作成して実行させると、コマンドウインドウが現れ、各コマンドが順次実行されます。バッチ処理終了後にコマンドウインドウが自動的にクローズされますが、これをそのまま保持することはできないのでしょうか?または、ウインドウの表示内容をファイルに落としておくということはできないのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

#1です。 a.batの内容が  dir  pause の場合、  a.bat > a.txt を実行すると、a.txtの最後に下記の行が入ります。  「続行するには何かキーを押してください . . . 」 これが嫌なら、a.batの内容を  dir C: > a.txt  dir D: >> a.txt  pause のように書き、a.batを直接実行することもできます。 (2つ目の処理以降は >> になります) バッチファイルについてはこちらを参考にどうぞ。 ファイルに書き出す機能は「中級編 3、リダイレクト機能」になります。 http://www25.cds.ne.jp/~kamiken/bach/bach.html

参考URL:
http://www25.cds.ne.jp/~kamiken/bach/bach.html

その他の回答 (1)

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

>これをそのまま保持することはできないのでしょうか? バッチファイルの最後に  pause という行を追加すれば、一度停止させることができますが。 >ウインドウの表示内容をファイルに落としておくということはできないのでしょうか? バッチ処理で実行するプログラムにもよりますが、バッチファイルをa.batとすると  a.bat > a.txt のようにして実行するとa.txtというファイルに書き出されます。 (a.batのショートカットをつくり、プロパティで設定すればいいかと)

関連するQ&A

  • バッチファイルを1個だけしか起動しないようにしたい

    エクスプローラー上から バッチファイル(test.bat)を ダブルクリックしてバッチファイルを実行しています。 通常はコマンドプロンプトが1個だけ表示されて、 バッチファイルが実行して実行が終了すると コマンドプロンプトも閉じられます。 しかし、時々、 コマンドプロンプトが2個表示されることがあります。 つまり、ダブルクリックが、 1回ではなく2回実行されたと誤認識されて、 同じバッチファイル(test.bat)が 2つ起動してしまったと思われます。 当然、その後の処理はおかしくなります。 (バッチファイル(test.bat)の中に 何らかのコードを追加するなどして) 必ず1個だけしか起動しないようにすることは、 できないでしょうか。 (Windows10)

  • バッチ処理中のコマンドの自動強制終了

    Windows7で、バッチファイルから複数のコマンドを実行しています。 あるコマンドの実行が一定時間以上になったらそのコマンドを強制終了して、次のコマンドに移るようにする方法を教えてください。 例えば、下記のバッチファイルがあるとします。 バッチファイル開始 programA programB programC バッチファイル終了 以上を実行した際に、programBの実行時間が1分以上になったらprogramBを自動的に強制終了して 次のprogramCを実行する必要があります。 また、ユーザーが起動するプログラムは、上記のバッチプログラムだけとします。 また、ダイアログボックスやメッセージwindow等のGUIは表示したくないです。 このようなことを実現する方法を教えてください。

  • バッチフィルで起動した別ウインドウを閉じるには

    バッチファイルの中から別のコマンドプロンプトを起動して そこでコマンドを実行した後、この別起動したコマンドプロンプト のウインドウを閉じるにはどのようにすればよいでしょうか。 例えば、以下のバッチファイルを コマンドプロンプト(ウインドウ1)から実行すると もうひとつ別のコマンドプロンプト(ウインドウ2)が 起動してcopyコマンドが実行されますが 何分かしてコピーが終了して ウインドウ2はコマンド待ちの状態になりますが ウインドウ2は開いたままです。 この後、別のコマンドプロンプトを起動して 別の処理を行わせたいのですが その数だけ別ウインドウが表示されてしまいます。 ウインドウ2の処理が終わったらウインドウ2を閉じるには どのようにすればよいでしょうか。 (Windows7) ---test.bat------------ start copy /b c:\test1\test.exe c:\test2 -------------------------

  • バッチファイルで他のバッチファイルを呼び出した後、元に戻ってこれない。

    バッチファイルで他のバッチファイルを呼び出した後、元に戻ってこれない。 バッチファイルでほかのバッチファイルを呼び出した後の処理で困っています。 どうぞ教えてください。 「A.bat」というバッチファイルを実行すると、「1.bat」というバッチファイルを 実行させ、「1.bat」の実行結果によって、処理を分岐させたいと考えています。 「1.bat」をcallで呼び出し、実行はできたのですが、「1.bat」は最後にエンタキーを 押さないと終了しないようになっています。そのため、「エンターキーを押して終了させて ください」というメッセージが出たままの画面で終わってしまい、「A.bat」に帰ってくることが できません。 「1.bat」は中身を扱えないようにしてあるバッチファイルなので、こちらでエンターキーを 押さずに終了させるようにはできません。何かいい方法はないでしょうか?

  • バッチ処理でAcess処理終了後にメッセージがでるのはなぜですか?

    バッチファイルで、Access2000のマクロ「AutoExec」を起動させて処理をおこないたいのですが、 「AutoExec」の処理が終了し、Accessが終了すると、以下のメッセージボックスが表示されてしまいます。 メッセージボックスの内容 「'C\xxx.mdb'がみつかりません。名前を正しく入力したかどうかを確認してから、やり直してください。 ファイルを検索するには、「スタート」ボタンをクリックしてから、[検索]をクリックしてください。」 Access2000は、該当のディレクトリに、置いていますし、 ちゃんとAccess2000のマクロ「AutoExec」の処理は実行されています。 Access2000の処理は、正常に終了しているのに、こんなメッセージが表示されては、 意味がありません。 このAccess2000の「AutoExec」のバッチ処理は、何十個もあるバッチ処理の一部です。 バッチ処理の途中でメッセージが出るとその後自働で、行われる予定のバッチ処理が、 行われないので非常に困ってます。 どうしたらよいですか? とにかく、バッチ処理で、Access2000を起動させ、マクロ「AutoExec」を使用して処理を行いたいのです。 その間、どんなことがあっても、メッセージボックスの表示などで、処理を止めてはならないのです。 お願いします。誰か教えてください。 バッチファイル名(このバッチファイルの次に、Access2000とは、無関係のバッチファイルの処理がたくさんあります) xxx.bat バッチファイルの内容 CALL c:\yyy.mdb(又は、startc:\yyy.mdb)

  • バッチファイル内の各コマンドが順番に実行される条件

    Windows環境にてDOSコマンドでバッチファイルを作成して実行します。 バッチファイル内には複数のコマンドを記述しており、上から順番に 処理されて処理が完了してから次のコマンドを実行することを期待しています。 例) ping PC_NAME_A    ping PC_NAME_B 実際に実行してみて1つ目のコマンドが終了してから、2つ目の コマンドが実行されているのは確認できているのですが、 この「1つ目のコマンドが終了してから次のコマンドを実行する」という 仕様を裏付ける記事などが見つけられません。(Microsoftのサイトなど) どなたかご存知の方がいらっしゃいましたら教えてください。

  • コマンドプロンプトのバッチについて

    WindowsのDOSなどのコマンド処理をするバッチファイルについて ですが、DOSからDB(OracleやSQL Serverなど)を起動させるバッチがあって、DBに入ってからSQLのコマンドなどを自動でさせるバッチって 何か方法はないのでしょうか?? DOS → DB起動後、自動でコマンドで動かしたいです。 細かくいうとWindowsのDOSではなくなるので、 動かなくなると思います。

  • バッチファイル実行時のプロンプトを非表示にしたい

    WindowsXPでバッチファイルからバッチを実行するとコマンドプロンプトが一瞬表示されバッチが終了すると自動で閉じますが、このプロンプトを表示しないようには出来ないでしょうか? バッチの結果を知らせる必要が無い処理なのであの一瞬出てくるプロンプトが邪魔で…。

  • taskkill をバッチ処理できない。

    バッチファイルを作って、taskkillを実行しようとしましたが、出来ません。 ファイル名は、たとえば、task.bat 中身には、 taskkill /F /im imagename と入れました。 これで実行すると、MSDOSウインドウが開いてバッチ処理が開始されますが、 taskkill /F /im imagename が、永遠に連続して繰り返し現れて、いつまでたっても終わりません。 また、kill 自身も実行されておりません。 copy コマンドなどでは、問題なくできます。 MSDOSプロンプトを手動で開いて、手で入力して実行すると、問題なくKillできます。 なぜでしょうか。

  • DOSのSTARTコマンドでEXEを呼び出したときのウィンドウ制御について

    お世話になります。 環境:WindowsVista 下記の様な構成のバッチファイルを作成し、実行したところ、 最終的に呼ばれているEXEのウィンドウが背面に隠れてしまいます。 <使用するファイル> バッチX バッチY 実行ファイルZ ( *.exe) <処理概要> 起動バッチを最新版に更新し、実行ファイルを起動する <処理の流れ> 1)バッチXをMouse-DblClickにて起動 2)バッチXにて、STARTコマンドでバッチYを呼び出す   →STARTコマンドを発行後にEXITコマンドを発行し、バッチX自身を終了 4)バッチYにて、STARTコマンドで実行ファイルZを呼び出す   →STARTコマンドを発行後にEXITコマンドを発行し、バッチY自身を終了 <問題> 上記(4)の時点で実行ファイルZが起動するのですが、  ・ウィンドウがアクティブにならない  ・Explorerなど他ウィンドウが有る時は、その背面として表示されてしまう。 という2点の問題があります。 <確認したこと> 単純に バッチ起動→実行ファイル呼び出し という、テスト用バッチを作って 実行したところ、上記のような問題はおこりませんでした。 推測するに、バッチを2段経由していることに拠ると考えています。 この辺りのウィンドウ制御についてご教授頂きたく、宜しくお願い致します。 佐藤