=== vRenSave.def v02-k4 === ; 2022-10-06  更新 konno ;★4 2021-11-03 DOSVAXJ3(dosboxj.exe)がeb+だとLFNセーブ不可なので eb- にする ;★3 2020-10-23 AX から CF に変更 nn=r 使用 %3 ;★2 2020-10-23 テンポラリエラーの不具合を対策 #M の位置に注意 ;★1 2017-00-00 ファイル名を小文字表示 #if 0 ■ vRenSave.def 説明  「連番セーブ」のLFN対応版です ■■これなぁ〜に?  拡張子を .000 からの連番号にしてバックアップセーブします。  既存の連番セーブマクロでLFNをバックアップすると エリアス名に対して拡張子番号が振られてしまい もとのLFNのファイル名が反映されなくなってしまいます。  たとえば、   あ〜たらこうたら.TXT  というファイルをバックアップすると LFN、エリアス名のどちらも   あ〜た~1.000  というファイルができあがってしい あとあと非常に不便する事がありました。  これをLFNに対応させました。 バックアップ後に LFN.def で確認すると違いがよく分かるとおもいます。 ■■使い方は?  起動させるとバックアップ、シフト起動でバックアップ戻しです。 ■■作動条件は?  VZ1.6で。 VFAT システムに対応していないときは 通常の「連番セーブ」マクロとして動作します。  狙い通りの動作をさせるためには VFAT.COM が必要です。 ^^^^^^^^^^^^^^^ -------------------------------------------------------------------- FWINAL LIB 3 159 MXE03306 96/12/18 15801 B VFAT150 .LZH VFATアダプタ ver1.50 -------------------------------------------------------------------- ■■多謝多謝  マクロについては ねこさん作の RenSave.def と 榊原さん作の RenBack.def をそのままパクった箇所が多々あります。(とくに RenBack.def の方はほぼそのまま使用してます) ありがとうございます。 #endif * M 60 [ESC]F "VFAT対応連番バックアップ" ?. (wn)??. (mr>1)?. ;ビューモードは不可 dp[=0, ;★1 ファイル名を小文字表示 &s #M #_ #U ;★2 テンポラリエラー対策 mb-, v+, i-, &49 q=r, p=wa+146, di=q, si=wa+146, cx2, ;p=元エイアス名 ax=$7160, &i($21) (ax==$7100 || r)?{ &Sc(q,wa+146) v-, } (ks&1)?>B ;シフト起動でバックアップ戻し (v)?{ ax$714E, cx7, dx=q, di=pr, si+, (0) } ?{ ax$1A00,dx=pq..149,&i($21) ax$4E00, cx7, dx=q, } &i($21) ;ファイルを検索 ; &m("%d:4e00 ax=%x cf%d pr=%s ",n,ax,r,pr) ;★ ; &w(100) &t ;★ nn=r, ;★3 nn=r=cfキャリー (ax==$12)?{ #S #m &d #? >A} ;★3 axはVTDOS1.53以前では不定 ; (nn!=0)?{ #S #m &d #? } ;★3 cfキャリーをaxの代わりに :A ; &m("%d:4e00 ax=%x cx=%x cf%d pr=%s ",n,ax,cx,nn,pr) ;★ ; &w(50) &t ;★ (v)?{ ;拡張子連番化処理 e=q, :s &SF(e,'.') (r)?{ e=r+1, >s } (e==q)?{ &Sn(e) e+=r+1, } ax$7156, e--, (0) } ?{ &Sy(q) e=cx-(r&2)!, ax$5600, } &Sp(e,".%03d",i) dx=p, di=q, &i($21) nn=r, ;★3 nn=r=cfキャリー ; &m("%d:5600 ax=%x cf%d p=%s",n,ax,r,p) ;★ ; &w(50) &t ;★ (ax==5)?{ i++,>A } ;★3 axはVTDOS1.53i以前では不定 (nn!=0)?{ i++,>A } ;★3 cfキャリーをaxの代わりに eb[-, ;★4 dosboxj.exe 対応 eb- にする pq.6~+, #S #x &?("%s",p) #m &d #? &m("%sにバックアップ",q) ; &t #C ;★ eb], ;★4 >q ;. ;★1 ; ;シフト起動でバックアップ戻し :B &49 p=r, &s &Sc(pr,wa+146) ;pr=ファイル名 &Sy(pr) &Sc(p,cx+(r&2/2-1),4) ;拡張子保存 cx.0-, mr-, #L &?("%s.*",pr) &d #m ;バックアップファイル呼び出し &m("【バックアップ戻し】 ファイルを選択") &Cr (r)?. &49 p=r, &s #S #x ;セーブ窓 &Sy(pr) &Sc(cx+(r&2/2-1),p) ;拡張子復帰 #e #m ;ファイル名 pr でセーブ fg.1+, &d :q dp], . ;★1 49: ;--- ▽LFN用バッファ ----- (3+$)."$[261]" * ===