こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

このBATファイルは正しく動作するのでしょうか?

あるサイトで下記のバッチファイルを見つけました。あるアプリを実行して、
環境1の時は環境2に、環境2の時には環境1にトグルさせるものです。

環境変数Indexが設定されているかどうかで判断させているようなのですが、
そもそも最初のsetで必ず設定されるので、LOWRESにしか行かないように思う
のですが、私の理解で正しいでしょうか?

これでうまく動作するか、皆様の見解をお願いします。
ちなみにどうすれば正常動作するかも教えていただければ...

よろしくお願いします。

++++++++++++++++++++

set index="c:\Program Files\アプリ\index.dat"

if exist %index% goto LOWRES else goto HIRES

:HIRES
"c:\Program Files\アプリ\アプリ.exe" 設定1
echo LOWRES > %index%
goto END

:LOWRES
"c:\Program Files\アプリ\アプリ.exe" 設定2
del %index%
goto END

:END

投稿日時 - 2009-12-20 12:11:14

QNo.5535488

困ってます

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

> set index="c:\Program Files\アプリ\index.dat"
最初の「set index="~"」はindexという環境変数を作っているだけです。
> if exist %index% goto LOWRES else goto HIRES
その後に、実際にファイルがあるかないかを判定しています。
ファイルが無かった場合、
> :HIRES
以下に分岐して、実際に「LOWRES」と書かれたindex.datを作成し、アプリ.exe に「設定1」というオプションを与えて実行させ、バッチファイルは終了します。
(次に実行されるときは「index.dat」が有るので「:LOWRES」へ飛ぶ)

ファイルが有った場合、
> :LOWRES
以下に分岐して、「index.dat」自体を削除し、アプリ.exe に「設定2」というオプションを与えて実行させ、バッチファイルは終了します。
(次に実行されるときは「index.dat」が無いので、「:HIRES」へ飛ぶ)

結果として、「設定1」と「設定2」をトグルする動作をします。

投稿日時 - 2009-12-20 12:22:48

お礼

納得です!

早速の御回答、ありがとうございました。

投稿日時 - 2009-12-20 12:49:06

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問