• 締切済み

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

number1185の回答

回答No.2

そういうものです。って言うんじゃだめなんですね。 処理の順番が規定されていないと、順次処理が 必要なものはバッチで書けなくなるんですが… 一般的な説明でよければですが Wikipediaのバッチ処理を参照してみてください。 ご要望に沿えるかどうかは疑問ですが。

参考URL:
http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%83%81%E5%87%A6%E7%90%86
blink-182
質問者

お礼

回答ありがとうございます。 改めて勉強になりました。

関連するQ&A

  • バッチファイル

    コマンドプロンプトから実行するコマンド 2つを、100回繰り返したいのですが、 バッチファイルで100回繰り返すにはどうしたらよいでしょうか? 単純にForで出来ると思っていたのですが、 dosのバッチファイルのforはちょっと違うみたいで、ほかの言語のように for(){繰り返したい処理} ということが出来ないみたいで、 しかも変数<100というのも出来ない? ようで(INで0 1 2 3・・・のように指定するのですね・・・?) 戸惑っています。 変数を使ってインデントして100で終了させようと思ったのですが、変数も使えない・・・??のですね。(使えるのでしょうか??) そこでWSHで一セット分のコマンドのバッチファイルを作ってWSHからそれを100回呼ぼうかと思ったのですが、いまいち方法がわかりません。 また、wshの中で直接dosコマンドが使えると最もよいのですが・・・。 詳しい方がいましたら教えていただけると幸いです。

  • バッチファイルで実行ファイル同時実行

    こんにちは、 ある複数の実行ファイルを同時に起動させたく思い、 バッチファイルに実行ファイルを羅列したのですが、 調べたところNT系だと終了を待つ様です。 終了を待たずに次のコマンドに進み、実行後コマンドプロンプトを 閉じるまでを行う事は不可能なのでしょうか? よろしくお願いいたします。

  • バッチファイルで実行できたりできなかったり

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 ping [example.com] > result.txt tracert [example.com] >> tr_result.txt ipconfig /all > ipc_result.txt 次に、各コマンドをテキストファイルに書き込んで、それぞれ "p_test.bat" # 内容は ping コマンド "tr_test.bat" # 内容は tracert コマンド "ipc_test.bat" # 内容は ipconfig コマンド と命名しデスクトップに配置、ダブルクリックで実行してみました。 すると、このうち正常に実行(結果をテキストファイルに出力)されたのは tr_test.bat のみでした。 ここで質問なのですが、なぜこのような違い(バッチファイルにすると実行できるものとできないものに分かれる)が起こるのでしょうか? バッチファイルの作り方やとコマンドプロンプトについて調べてみましたが、説明を見つけることが出来ませんでした。 この辺の理論について詳しい方がおりましたら、ご教示頂きたく思います。 ちなみに、OS は Windows XP SP2 です。 よろしくお願いいたします。

  • バッチファイルからftpを実行時に処理完了を待たない方法

    ある市販のjava系のアプリから時間起動でバッチファイルを起動します そのアプリは同時に複数のバッチファイルを起動できない仕様で ある外部プログラム(バッチファイル)を起動したら処理の完了を 待ってから次の処理バッチファイルを起動するのです 同時起動はできません なので最初に起動したバッチファイルがフリーズしてしまうと 次のバッチファイルが起動できずに永遠と待ち状態になってしまうんです そのソフトのメーカーに問い合わせしてみたのですが 呼び出し側はタイムアウトさせるような設定はない仕様なので 呼び出ししたプログラムのほうでタイムアウトするようにして下さい という回答でした なんとか回避しようと そのバッチファイルは ftp -s:c:\cmd.txt というようにftpコマンドを利用しているのですが (稀に何らかの原因でftpがフリーズしてしまう現象があります) ftpコマンドがフリーズしてしまったらどうしょうもないですよね・・・ この現象を回避したくて バッチファイルを start ftp -s:c:\cmd.txt exit に変更しました こうすればftpの完了を待たずにバッチファイルが終了するので たとえftpの処理が一つフリーズしてしまったとしても 別のバッチファイルの起動は問題なく行えると考えたからです しかしその市販アプリが内部的にどのようにバッチファイルを起動しているかわからないのですがテストしてみましたところ (ftpのコマンドをわざとquitしないようにして終了しないftp処理にして バッチファイルを起動してみたのです) 結果としては起動したバッチファイルが完了したとはみなしてくれず 次のバッチファイル起動ができないまま永遠に待ち状態になってしまいました・・・ バッチファイルからftpコマンドを別プロセスで起動する (ftpの完了を待たずにバッチファイルを終了させる) という事はできないでしょうか? アドバイスお願い致します

  • コマンドプロンプトのバッチファイル実行までの速度

    コマンドプロンプトのバッチファイルを作成したのですが このバッチファイルの実行するまでの処理速度を、コマンドプロンプト上に表示させたいのですが、どのようなコマンドを組めばよいのでしょうか? ちなみにバッチファイルの中身は、 @echo off start http://www.yahoo.co.jp です。よろしくおねがいします。

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

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

  • バッチファイルをatコマンドでうまく実行できない

    初心者で申し訳ありませんが教えてください。 特定の時間になると、○○サーバにあるデータをLocalの○○フォルダへコピーするバッチファイルを作成したいと考えています。 コピーだけのバッチファイルは作成できました。 特定の時間になると、このバッチファイルを起動させるバッチファイルを作成したかったので、色々調べていてatコマンドを利用する方法と、 システムツールのタスクを利用する方法を見つけました。 タスクの方だと上手く実行できるのですが、atコマンドのほうが上手くいきません。 記述したコードは以下になります。 at 15:30 C:\Copy.bat タスクには追加されるのですが、実行時間になり、実行中となっても完了しません。 ○○サーバがアクセス権が必要なサーバです。 やはりアクセス権の関係で失敗してるのでしょうか? (でもそれなら、コピーだけのバッチファイルも実行できない気がしますが・・・) タスク処理で設定した方は、設定項目にユーザIDとパスワードを 入力する項目があったので設定してました。 at関数の方も実行するユーザーIDとパスワードを設定すればいいのでしょうか?その場合やり方も教えてください。 よろしくお願いします。

  • バッチファイルであるアプリケーションを起動してからコマンドを実行したい

    バッチファイルで、あるアプリケーションを起動した後にコマンドを走らせたいと考えています。 普通にアプリケーションの起動と実行コマンドを並べて書き込むとアプリケーションを終了させた時点でコマンドが実行されてしまいます。 そのアプリケーションを立ち上げた状態でないと働かないコマンドなので困っています。 何か良い策があればお願いします。

  • VBScript(WScript)のバッチファイル実行

    お世話になります。 VBScriptで困っています。 ご存知の方、ご教示願えますでしょうか。 Windowsでバッチファイルを実行したときに、DOS画面(コマンドプロンプト)が一瞬パッて表示されるかと思います。 現在開発中のシステムで、プログラムからバッチファイルを自動で実行する処理を入れております。 通常ならばバッチファイルを実行した場合、DOS画面が表示されてしまいますが DOS画面を出さないようにプログラムを組んでいます。 つまり、VBScriptからバッチファイルを実行しております。 以下、VBScriptのソースを記載します。 Set objShell = WScript.CreateObject("WScript.Shell") fcresult = objShell.Run("C:\abc.bat", 0, True) wscript.quit fcresult 上記のVBSを実行すると、必然的に「abc.bat」が実行されます。 しかし、現在僕が使っている環境ですとDOS画面が表示されません(←これがやりたいこと) しかし、お客さんの環境で同じ様にVBSからバッチファイルを実行すると 「C:\WINDOWS\System32\CScript.exe」という名前でDOS画面が起動されてしまいます。 周りの環境でもVBSからバッチをたたくような処理を行ってみましたが、DOS画面が起動されず。。。 正直、再現が難しいため大変困っております。 お客さんの環境では100%再現されます。 全くもって原因がつかめておりません。 Windowsのセキュリティの設定でしょうか!? ご存知の方いらっしゃいましたら、知恵をお貸しください。 よろしくお願いいたします。

  • 順番にPINGを飛ばすバッチ

    セグメント内で使用されているIPアドレスを調べるために順番にPINGを飛ばす下記のバッチを作りました。 ----------------------------------------------------- @echo off for /l %%A in (1,1,254) do (ping -n 1 192.168.1.%%A) :EOF ----------------------------------------------------- 実行すると最初の数回は正常に動作したのですが、そのうちうまく実行できなくなりました。 実行するとDOS窓が一瞬開いて、すぐに終了してしまいます。(変数を変更してみても同じです。) 内容をいじっって何回か実行していると、たまに正常動作するのですが・・・。 原因と対処法が分かる方がいらっしゃったら、教えてください。 よろしくお願い致します。