• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBSで自身の実行状態をチェックする方法)

VBSで自身の実行状態をチェックする方法

このQ&Aのポイント
  • VBSについてご教授いただきた事がございます。URIAGE.batというバッチファイルを実行するTEST.VBSがあります。
  • VBSには動作中のチェック方法があり、エラーメッセージを表示して処理を回避することができます。
  • 環境はWindows XP SP SP3です。どなたかご教授いただけますと幸いです。

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

  • ベストアンサー
回答No.3

そうじゃなくて、 > if exist "C:URIAGEDATA\system\空ファイル.txt" goto PROCESS1 のファイルの指定が、相対パスになっているってことです。("C:"と"C:\"の違い)

yakkun2338
質問者

お礼

m-take0220さん 何度もご連絡ありがとうございました! ご教授いただきました方法で実現できました。 本当にありがとうございました。 初歩的なことばかりお聞きして本当に申し訳ありませんでした。 この度は本当に助かりました。 ありがとうございました。

その他の回答 (2)

回答No.2

> CD C:\URIAGEDATA\system > if exist "C:URIAGEDATA\system\空ファイル.txt" goto PROCESS1 これだと、C:\URIAGEDATA\system\URIAGEDATA\system\空ファイル.txt というファイルが存在するかチェックすることになります。 if exist "C:\URIAGEDATA\system\空ファイル.txt" goto PROCESS1 でうまくいくんじゃないでしょうか。

yakkun2338
質問者

補足

m-take0220さん またまた早速のご連絡ありがとうございました! 早速、ご教授いただきました様に冒頭の ”CD C:\URIAGEDATA\system” の部分を削除してみましたが結果は同じでした・・。 "空ファイル.txt"があってもなくても必ずPROCESS2に入ってしまいます。

回答No.1

特定の場所(例えばバッチファイルと同じフォルダ)などに、チェック用のファイルを作成するようにして、バッチファイル終了時にチェック用のファイルを削除する方法があります。 ファイルが既に存在する場合は、別のプロセスが起動中と判断できます。

yakkun2338
質問者

補足

m-take0220さん早速のご連絡ありがとうございました! VBSから呼んでいるURIAGE.bat側で処理中に"空ファイル.txtというファイルを作成するようにして、処理が完了したら"空ファイル.txt"を削除するようにしました。 URIAGE.bat側でIF EXIST~で"空ファイル.txt"が存在すれば処理中止(PROCESS1)、存在しなければ処理開始(PROCESS2)というようにロジックを組んだつもりなのですが、なぜかすべてPROCESS2に入ってしまいます。 IF EXISTのチェックが動いていないようです。 大変お手数ですが私の問題点をご教授いただけませんでしょうか? 以下ロジックです。 CD C:\URIAGEDATA\system if exist "C:URIAGEDATA\system\空ファイル.txt" goto PROCESS1 if not exist "C:URIAGEDATA\system\空ファイル.txt" goto PROCESS2 :PROCESS1 exit /b :PROCESS2 del 空ファイル.txt TYPE NUL> 空ファイル.txt ***EXCELのマクロを動かします**** del 空ファイル.txt

関連するQ&A

専門家に質問してみよう