アプリ版:「スタンプのみでお礼する」機能のリリースについて

Windowsのバッチファイルでリダイレクトを用い、出力ログなどを取得しています。
リダイレクトの出力ファイル名が複数のバッチファイルで使用されています。
そのうちいくつかのバッチファイルが同時に実行されてリダイレクトファイルが同時に書かれようとした場合、エラーになっているようなのです。
おそらくリダイレクトファイルの書き込みエラーだと思われます。

このエラーを解除または感知する方法などなりますか?

実は、このエラーを感知すると、バッチファイルをJP1が起動かけているので、JP1の方でエラー感知してしまうのです。

バッチファイルのタイミングをずらせばいいんじゃないかと思われるでしょうが、なかなか難しい状況なのです。

良い案お待ちしております。

A 回答 (2件)

回避案1


各バッチファイルの出力は競合しないように、別ファイルにする。
別途、各バッチファイルの出力を結合するようなプログラムを作る。


回避案2
バッチファイルではなく、VBScriptを利用する。
VBScriptなら、ファイルのエラー処理も出来ます。

バッチファイル自体は古い技術です。
WSHが利用できるなら、移行を検討されてはいかがでしょうか?

幾つか参考になりそうなものを挙げておきます。

WSHを始めよう
http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh0 …

[VBScript Tips]
http://www.whitire.com/vbs/

[ファイルにデータを書き込む]
http://www.whitire.com/vbs/tips0064.html

[プログラムの結果を取得する]
http://www.whitire.com/vbs/tips0106.html
    • good
    • 0

解除する方法は思いつきませんが、感知なら %errorlevel% でできるかと思って実験したら、一回エラーになると %errorlevel% は1のままですね。


echo sample>sample.log||echo error
こんな感じで検知するぐらいしか思いつかないです。
    • good
    • 0
この回答へのお礼

pita-goraさん、ありがとうございます。
確かに%errorlevel%がありますが、1ではどうしようもないのです。

お礼日時:2007/10/13 11:39

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