| 某「げほげほ」処理データ一式のバックアップなのですが・・・・
うまく行かない理由が判らないので、ここでまたまた相談に乗って下さい。 後述cmdの内、 バックアップ@は "*.*" でデータまるごと別ファイルに複写(正確には最新データに更新)、 Aは、処理日付入のファイル名でLZH圧縮して、時系列的に別ドライブに保存。 A・B・C店ともうまく動いているのですが、さて、今日久しぶりにD店に行ってみたらD店だけうまく行かない。何度やっても(PC再起動しても)うまく行かない。 正確に言うと、以前(数ヶ月前)はこのままでD店でもきちんと動いていたのだが(確認済み)、その後いつの間にか動かなくなっていた。今日だけ動かなかったのかもしれないが、その辺りは判らない。時間もなくて究明しきれないまま帰らざるを得なかった。 (ちなみに我が家のPCでは問題なく動くので、不具合を再現できない)
以下、"げほげほBackUp.cmd" の記述です。 (このcmdをデスクトップのショートカットアイコンから実行) 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 var 文字列{&DRIVE,&BAK0,&BAK1,&BAK2} &DRIVE=#UC2(#ファイル名(#データパス名,6)) /*A店→E,B店・C店→F,D店→D*/ if(&DRIVE="E") /*A店*/ &BAK0="E:\Data\はげ\げほげほ\*.*",&BAK1="E:\Kbak\げほげほ\",&BAK2="E:\Kbak2\" else if(&DRIVE="F") /*B店・C店*/ &BAK0="F:\げほげほ\*.*",&BAK1="D:\Fbak\げほ\",&BAK2="F:\Bak2\" else if(&DRIVE="D") /*D店*/ &BAK0="D:\げほげほ\*.*",&BAK1="E:\Bak\げほ\",&BAK2="E:\Bak2\" end &選択ファイル名="げほげほ"+#STR(&年*10000+&月*100+&日)+"bak.LZH" メッセージボックス \ "げほげほデータのバックアップ" \ ," もし「げほげほMenu」が起動中でしたら、一旦終了させてから再度このバックアップを実行するようにします。\n\n" \ +" @先ず「"+&BAK1+"」フォルダに最新データを上書き保存。\n" \ +" A次に「"+&選択ファイル名+"」としてLZH圧縮した上で「"+&BAK2+"」フォルダに時系列的に保存。\n" \ +"\n バックアップを実行しますか?" \ ,アイコン=i,ボタン指定=5,制御文字展開=する,&実行リターン cond(&実行リターン<>6) 終了 桐
ファイル更新 &BAK0,&BAK1,終了状態=&秒 if(&秒<>0) 確認 "バックアップ@に失敗したようです。(エラーNo."+#str(&秒)+")" *終了 桐 else 確認 "@先ず「"+&BAK1+"」フォルダへの上書き保存終了。" end
システム &DRIVE+":\Lha32.exe","u -al -jpl -o2 "+&BAK2+&選択ファイル名+" "+&BAK0, 戻り値=&実行リターン,&秒 if(&秒<>0) 確認 "バックアップAに失敗したようです。再実行を" else 確認 "ALZH圧縮保存も終了。" end 終了 桐 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
さらに云えば、動かないのは@の方、つまり単純な全ファイル更新だけで、AのLZHの方は問題なく動いている。 @失敗時のエラー番号は 105 (ファイルにアクセスできない)でした。 それも門前払いではなく、そのうち幾つかのファイルは更新できているが、あるファイルのところで止まっているようだった。残念ながら、止まったファイル名を特定する時間もなかった。 以前、この手の "*.*" を複写する類のBackUp.cmdを、当該データと同じフォルダ内に置いておくと、自分自身が使用中のファイルと言うことで止まってしまうという経験があった。ので、今回はその点も考慮して、この "げほげほBackUp.cmd" は(Lha32.exeともども)それぞれのドライブのルートに置いて、自分自身を含まない別フォルダに対して展開する形をとったつもり。 某「げほげほ」処理システムは当然終了(終了 桐)しているにも関わらず、対象ファイルのひとつが何らかの形(?)で「使用中」と誤認識されているのだらうか? 対象フォルダ内に存在するファイルの拡張子は、bat,cmd,csv,ico,k3,kev,lzh,rpt,tbl,txt,var,viw,wfm,xls です。
と云うわけで、不具合の原因が判らないで困っています。 何か心当たりがあれば示唆をお願いします。 あるいは迂回策でも。<(_ _)>
|