安旨ワイン探求

安旨ワインを探し求めて飲んだワインのMEMOをつらつらと

バッチファイルでプログラムを遅延起動させたい

time 2012/09/10

Windows7のスタートアップへバッチファイルを入れて自動起動しているプログラムがある。
バイオスの自動起動タイマーを利用して朝9時に自動起動して自動ログインしスタートアップ実行させている。
その際に、以下のように「if exist」を利用して「%FileA%」がある場合はプログラムAを起動し、無い場合はプログラムBを起動するようにしている。

@echo off
set FileA="D:\hogehoge.txt"
set ProgA="C:\Program Files (x86)\ProgA.exe"
set ProgB="C:\Program Files\ProgB.exe"

if exist %FileA% goto kidouA
if not exist %FileA% goto kidouB

:kidouA
%ProgA% %FileA% /option
exit /b

:kidouB
%ProgB% E:\hogehoge.txt /option
exit /b

ところが、先週あたりから、なぜかFile-Aのhogehoge.txtがきちんと存在しているのに、プログラムBが起動してしまう・・・なぜ??
根本的なところを調べる余裕が無いので、いつものことながら場当たり的対策を(笑)

バッチファイルにてファイルの有無判定の前に1分間の遅延をさせてみる。
Windowsでは、pingの間隔が1秒間に固定されているので、60回Pingを打てば1分間の遅延が実現できる。

ping localhost -n 60 > nul

を入れて、

@echo off
set FileA="D:\hogehoge.txt"
set ProgA="C:\Program Files (x86)\ProgA.exe"
set ProgB="C:\Program Files\ProgB.exe"

ping localhost -n 60 > nul

if exist %FileA% goto kidouA
if not exist %FileA% goto kidouB

:kidouA
%ProgA% %FileA% /option
exit /b

:kidouB
%ProgB% E:\hogehoge.txt /option
exit /b

として様子を見てみよう・・・ナムナム(-人-)

sponsored link

down

コメントする






sponsored link

過去の記事