重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

bat、vbsともに初心者レベルのため、質問がとんちんかんかもしれませんが、よろしくお願いします。

1.batでの処理 ネットワーク上にあるファイルをローカルフォルダにコピー
2.vbsでの処理 コピーしたファイルに対して、外部アプリを使用してOCRをかける
3.batでの処理 OCRをかけたものを再度ネットワーク上に戻す(上書き)

事情があり、bat、vbsの連携にしています。
1~2へは問題なくいくのですが、2~3の作業で、2が終了していないにもかかわらず、3が始まってしまいます。
1~3は全て1つのbat内にコードを書いています。

コードは下記のとおりです。
================================
1.の処理(ネットワーク上からファイルをコピー)
cd /d Z:\%FILE%\%DIRNAME%\ZZZ
copy %G%*.pdf C:\あいう\えお

2.の処理(vbsにて外部アプリを起動し、OCRをかける)
cscript X:\vbs\OCR.vbs

3.の処理
move /Y "C:\あいう\えお\*.pdf" "Z:\%FILE%\%DIRNAME%\ZZZ"
================================

2で外部アプリによる処理が終了してから、3のファイル移動を行いたいのですが、
どのようにすればよいでしょうか。

CPUの使用率をチェックし0%になればファイルを移動、ファイルの更新日時がその日になっていればファイルを移動など、色々考えているのですが、良い方法があればご教示いただけないでしょうか。

よろしくお願いいたします。

A 回答 (1件)

> 2.の処理(vbsにて外部アプリを起動し、OCRをかける)


> cscript X:\vbs\OCR.vbs

start /wait cscript X:\vbs\OCR.vbs

ではどうでしょうか?
startコマンドのwaitオプションは、
「アプリケーションの起動後、終了するまで待機する。」
って事になっています。

が、それで指定したcscriptプログラムの処理が、見かけ上の速度を上げるために「終了しましたー。」って言いつつ、裏で処理を継続するような作りだと、ダメかも。
cscript.exeのオプション見ましたが、そういう設定があるのかどうか?ちょっと分かりませんでした。
    • good
    • 0
この回答へのお礼

お礼をしたつもりが、投稿ミスだったようで、お返事が遅くなりすみません。
ご回答ありがとうございます。

結果から申し上げますと、start /waitは試してみたのですが、ダメでした。

cscript X:\vbs\OCR.vbsの中で、外部アプリケーション(コンソールアプリではない)を操作しているのですが、こことのタイミングがうまくいってないようです…。

他に何か手がありましたら、ご教示いただけると助かります。

お礼日時:2017/06/15 10:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!