パソコン困りごと掲示板
◇-?バッチファイルでEXEを連続起動したい-JORDAN(初)(2005/09/13-17:17)No.291844
 ┣?!Re:バッチファイルでEXEを連続起...-jtaka[BJCB](2005/09/13-17:33)No.291859
 ┃┗?!~Re:バッチファイルでEXEを連続...-JORDAN(2005/09/13-18:00)No.291865
 ┃ ┗?!~!Re:モバイル投稿...-norimaki2000(2005/09/13-19:20)No.291877
 ┃  ┣?!~!~Re:モバイル投稿...-JORDAN(2005/09/13-19:37)No.291880
 ┃  ┗?!~!!Re:モバイル投稿...-norimaki2000(2005/09/13-19:38)No.291882
 ┃   ┣?!~!!~Re:モバイル投稿...-JORDAN(2005/09/13-19:54)No.291889
 ┃   ┃┗?!~!!~!Re:モバイル投稿...-norimaki2000(2005/09/13-21:32)No.291917
 ┃   ┃ ┗?!~!!~!~Re:モバイル投稿...-JORDAN(2005/09/13-22:42)No.291955
 ┃   ┃  ┣?!~!!~!~!Re:モバイル投稿...-norimaki2000(2005/09/13-23:50)No.291990
 ┃   ┃  ┗?!~!!~!~!Re:モバイル投稿...-TAG(2005/09/14-16:27)No.292146
 ┃   ┗?!~!!!Re:モバイル投稿...-norimaki2000(2005/09/13-19:55)No.291890
 ┣?!Re:バッチファイルでEXEを連続起...-tetsu(2005/09/13-21:31)No.291916
 ┗?!Re:バッチファイルでEXEを連続起...-Discovery(2005/09/13-23:46)No.291987
  ┣?!!Re:バッチファイルでEXEを連続...-Discovery(2005/09/14-00:01)No.291999
  ┗?!~Re:バッチファイルでEXEを連続...-JORDAN(2005/09/14-15:12)No.292127
   ┣?!~!Re:バッチファイルでEXEを連続...-銀松(2005/09/14-18:04)No.292163
   ┃┗?!~!【ありがとう】Re:バッチファ...-JORDAN(2005/09/14-18:50)No.292187
   ┃ ┗?!~!【ありがとう】!Re:バッチファ...-jtaka[BJCB](2005/09/14-18:57)No.292189
   ┗?!~!Re:バッチファイルでEXEを連続...-Discovery(2005/09/14-23:33)No.292265
    ┗?!~!!Re:バッチファイルでEXEを連...-Discovery(2005/09/14-23:55)No.292273

▲このページのトップに戻る
291844バッチファイルでEXEを連続起動したいJORDAN(初) 2005/09/13-17:17

メーカー名: ENDEAVOR
OS名:WindowsXp Professional
パソコン名:MT-7500
ソフト関連:日本語変換ソフトの詳細を記入
--
下記のようなバッチファイルを作成し、EXE1、EXE2を
連続して起動したいのですが、一つ目のEXEを起動した
ところで止まってしまいます。
※WIN98SEでは連続起動するのですが、2000/Xpでは起動しません。
あまりパソコンに詳しくないため、誰か良い情報をお願いします。

バッチファイル内容↓
cd c:\
C:\1.EXE
cd c:\
C:\2.EXE

▲このページのトップに戻る
291859Re:バッチファイルでEXEを連続起動したいjtaka[BJCB] 2005/09/13-17:33

記事番号291844へのコメント
そのバッチファイルだと1.exeが終了しない限り次の行には進みませんね。

startの引数で起動するとどうなるんだろうね。

cd c:\
start C:\1.EXE
cd c:\
start C:\2.EXE

startのオプションをうまく使うことで、もっと便利な使いかたができるはず。

▲このページのトップに戻る
291865Re:バッチファイルでEXEを連続起動したいJORDAN 2005/09/13-18:00

記事番号291859へのコメント
jtaka[BJCB]さんは No.291859「Re:バッチファイルでEXEを連続起動したい」で書きました。

早速の情報ありがとうございます。
startを使いやってみました。
うまくいく時もあるのですが、片方のEXEしか
起動しなかったり、EXE2が最初に起動してしまったりします。

必ずEXE1が起動してからEXE2を起動したいのですが、
良い方法はないでしょうか。

▲このページのトップに戻る
291877Re:モバイル投稿norimaki2000 2005/09/13-19:20

記事番号291865へのコメント
Windows2000/XPでEXEファイルをバッチから起動する場合、start付き(/wait無し)ならそのプログラムを起動開始した時点でバッチの制御は次のステップに移ります。
当然上から順に流れます。
EXE1がEXE2よりも重いプログラムの場合、先に起動を開始しても、後から起動開始したEXE2の方が先に起動完了する事はよくありまし。
たぶんそれじゃないかな。

そのEXE1やEXE2がわからないので、試しにnotepad.exe(メモ帳)とcalc.exe(電卓)でやってみて。

▲このページのトップに戻る
291880Re:モバイル投稿JORDAN 2005/09/13-19:37

記事番号291877へのコメント
norimaki2000さんは No.291877「Re:モバイル投稿」で書きました。

notepad.exeとcalc.exeではうまく行きました。
ただ、やはりEXE1、EXE2を使用すると、順番が逆になったり、
片方しか起動しなかったりします。
(ほとんどが片方だけ起動して終了してしまう症状になります。)

確かにEXE1、EXE2は重く、起動するのに2〜3秒程度かかります。
それが原因なのでしょうか。
※ちなみにEXE1、EXE2は同じプログラムです。(置いてある階層は違います)

▲このページのトップに戻る
291882Re:モバイル投稿norimaki2000 2005/09/13-19:38

記事番号291877へのコメント
自分で言っておいて何ですが、notepad.exe(メモ帳)とcalc.exe(電卓)のように軽いプログラムの場合、バッチで順番に起動しても見た目上はほとんど同じに起動したり、順番が不定に見えたりするかも。
あくまでも起動を開始する順番であり、起動完了を待つわけではないから。

最初のプログラムが終了してから次のプログラムを起動するなら、簡単なんだけど。
どのようになればいいのかな?。

▲このページのトップに戻る
291889Re:モバイル投稿JORDAN 2005/09/13-19:54

記事番号291882へのコメント
やりたい事の流れは下記の通りです。

1.バッチファイルをたたく
2.EXE1を起動させる
3.EXE1が起動したら、EXE2を起動させる
4.終了
※バッチファイルは一つで。


▲このページのトップに戻る
291917Re:モバイル投稿norimaki2000 2005/09/13-21:32

記事番号291889へのコメント
であれば、もうできているはずですよ。
前にも書いたけど、バッチはその順番に動いているはずです。見た目上、2つのプログラムが起動する順番がバラバラに見えるだけですよ。
一つ目と二つ目の間にpauseを入れるか、タイマーになるコマンドを実行するなどで、確認してください。

▲このページのトップに戻る
291955Re:モバイル投稿JORDAN 2005/09/13-22:42

記事番号291917へのコメント
ありがとうございます。
順番が逆になるのは解決しそうです。
でも、片方しか起動しないことがあることは、
原因が分かりません。(10回に7〜8回はそうなります)
※メモ帳と電卓で確認した時はおこらないのですが・・・

何度も申し訳ありませんが、何か考えられることはありますでしょうか。


▲このページのトップに戻る
291990Re:モバイル投稿norimaki2000 2005/09/13-23:50

記事番号291955へのコメント
>でも、片方しか起動しないことがあることは、

本当に片方しか起動しないの?。
バッチに書いてあるコマンドを、手で打ち込んで実行したらどうなる?。
プログラムの作りによっては、同時に2つは起動できないとか、起動すると動作が
不安定になるなども考えられます。

1つめと2つめのプログラムの間にタイマプログラムを入れてみましょう。
この手のフリーソフトは多々ありますが、例えばポップアップメッセージを表示できる
メッセージボックス for Win32をダウンロードし、その中のMessage32.exeを
バッチと同じフォルダに保存します。
http://www.vector.co.jp/soft/win95/util/se029180.html

バッチは例えばこんな感じ。
start notepad.exe
Message32.exe 電卓起動まで待ち合わせ中 電卓起動待ち /i /T05
start calc.exe

1つめと2つめのプログラムの間に、5秒の待ち合わせを入れています。
こんなのではうまく行かないかな?。

▲このページのトップに戻る
292146Re:モバイル投稿TAG 2005/09/14-16:27

記事番号291955へのコメント
JORDANさんは No.291955「Re:モバイル投稿」で書きました。

cmd /c EXE1
cmd /c EXE2

ではどうでしょう。

▲このページのトップに戻る
291890Re:モバイル投稿norimaki2000 2005/09/13-19:55

記事番号291882へのコメント
試しに、EXE1の次にpauseを入れてみたら?。
EXE1とEXE2が順番に実行される事が確認できると思う。

▲このページのトップに戻る
291916Re:バッチファイルでEXEを連続起動したいtetsu 2005/09/13-21:31

記事番号291844へのコメント
JORDAN(初)さんは No.291844「バッチファイルでEXEを連続起動したい」で書きました。

Windowsの自動化ソフトを使ってみてはどうでしょうか?
http://www.h7.dion.ne.jp/~umiumi/

▲このページのトップに戻る
291987Re:バッチファイルでEXEを連続起動したいDiscovery 2005/09/13-23:46

記事番号291844へのコメント
JORDAN(初)さんは No.291844「バッチファイルでEXEを連続起動したい」で書きました。

質問さんWSHじゃ駄目なの??
ま、サンプル上げとく
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run ("""%SystemRoot%\notepad.exe""")
WScript.sleep(1000)
WSHShell.Run ("""%SystemRoot%\System32\calc.exe""")
WScript.Quit

なんとか.VBSで保存

これは電卓とノートパッドだけど


▲このページのトップに戻る
291999Re:バッチファイルでEXEを連続起動したいDiscovery 2005/09/14-00:01

記事番号291987へのコメント
Discoveryさんは No.291987「Re:バッチファイルでEXEを連続起動したい」で書きました。

そうそう説明忘れとった
確実に順番に起動させる事はSleepの後の数値を変える事
ミリ秒単位です


▲このページのトップに戻る
292127Re:バッチファイルでEXEを連続起動したいJORDAN 2005/09/14-15:12

記事番号291987へのコメント
WSHt使ってみました。
結果は、うまくいきませんでした。

試したスクリプトは下記の通りです。
起動したいEXEがiniファイル(設定ファイル)を
使用する為か、下記のスクリプトを実行すると、
iniファイルが無いため設定がめちゃくちゃになります。
(設定が初期状態になってしまう。)
※iniファイルはEXEと同じ階層に置いてあります。

また、2つの階層を指定しているのに、どうも同じEXEを
起動している様なのですが・・・。
こんな症状になることは考えられるのでしょうか。


Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "c:\111\111.exe"
WScript.sleep(1000)
WSHShell.Run "c:\222\222.exe"
WScript.Quit

▲このページのトップに戻る
292163Re:バッチファイルでEXEを連続起動したい銀松 2005/09/14-18:04

記事番号292127へのコメント
どんなプログラムを使っているかが秘密のままでは誰も答えられないのでは?
iniファイルが参照されることからみて、どこぞのフリーソフトかな?とは思いますが。

▲このページのトップに戻る
292187Re:バッチファイルでEXEを連続起動したいJORDAN 2005/09/14-18:50

記事番号292163へのコメント
そうですよね・・・。申し訳ありません。
しかし、自社開発ソフトのため、
社外秘になっており、公開することが出来ません。

バッチファイル以外で起動する方法を考えます。
皆様ありがとうございました。

▲このページのトップに戻る
292189Re:バッチファイルでEXEを連続起動したいjtaka[BJCB] 2005/09/14-18:57

記事番号292187へのコメント
自社開発のソフトだったら、第1のソフトの適当なタイミングで(ローカル)環境変数を
セットするようにして、バッチファイルで環境変数をチェックして、セットされていたら
第2のソフトを起動するなんていう工夫ができるかもかも。

# ほかにも、何かセマフォ的なものを使えそうですけど。

▲このページのトップに戻る
292265Re:バッチファイルでEXEを連続起動したいDiscovery 2005/09/14-23:33

記事番号292127へのコメント
JORDANさんは No.292127「Re:バッチファイルでEXEを連続起動したい」で書きました。

自社開発なら何でINIファイルをプログラムと同階層に置くわけ?
普通置かないでしょう?まさかコマンドライン?
WindowsアプリでGetPrivateProfileIntなんか使ってるなら
ファイル位置をアプリケーションパスに指定すれば良いでしょ

あと回避策検討のため質問
そのプログラムをショートカットで起動する事は無いの?
ショートカットで起動できるならショートカットをWSHで叩く
って手が有るよん

▲このページのトップに戻る
292273Re:バッチファイルでEXEを連続起動したいDiscovery 2005/09/14-23:55

記事番号292265へのコメント
Discoveryさんは No.292265「Re:バッチファイルでEXEを連続起動したい」で書きました。

ショートカットの作業フォルダをEXEの有るパスにする事をお忘れなく