この主題のまとめに,Windows環境における注意点をいくつか列挙しておきます。
RCP32でZCOPYを置き換える
Windows環境ではファイルの扱いがポイントになると思います。高橋版VZではファイラーでの新規ファイルやリネームで長いファイル名を扱うことができるようになりました。しかし,ファイル操作ツールとしてVZに同梱されているZCOPY.COMが長いファイル名に対応していません。したがって,VZFL.DEFのファイルメニューのサンプルにあるようなCOPYやMOVEを安易に使用すると,短いファイル名に置き換えられてしまいます。
この問題点を解決するのが,Si氏の作成したRCP.EXE/RCP32.EXEです。RCP.EXEはDOS用,RCP32.EXEは32ビットコンソールアプリケーションです。ZCOPYと完全互換ではありませんが,通常使用される機能はほとんど同じですので,さくっと置き換えることができます。
そして,有り難い新機能を利用できます。特に便利だと感じるのは,同名ファイルの連番リネームバックアップ,属性を継承または解除してのコピー,ファイル名の英文字部分を大・小文字変換してのコピーなどです。
連番リネームバックアップの安心感は言うまでもないですね。属性解除コピーは,CD-ROMからコピーするときなどに大変便利です。小文字変換するのは,DOS環境で作成したファイルをWebに転送するローカルフォルダにコピーするときなどに調法します。
ファイラーのファイルメニューへの登録例をいくつか挙げておきます。($(9)はタブの代用です。)
- 連番バックアップコピー
- "copyBackup $(9)%!%^RCP32 %[/s] /b %@1 %2%G"
- 通常のコピー(ファイル名を小文字化)
- "Copy $(9)%!%^RCP32 %[/s] /l %@1 %2%G"
- ファイルの移動(連番バックアップ+小文字化)
- "Move $(9)%!%^RCP32 %[/s] /m /b /l %@1 %2%G"
Windowsの関連付けを利用する
Windowsのフォルダオプションで関連付けが設定されている拡張子のファイルは,「開く」動作を行わせると特定のアプリケーションでオープンします。これはVZのファイラーにおける「Quick Exec」に似た機能です。VZの方がシフト選択で別の動作になるぶん便利なのですが,山のような拡張子をすべて登録するのも現実的ではないので,ここはWindowsをこき使ってやることにしましょう。
関連付けされたプログラムを起動するコマンド「Start」をVZのファイラーに登録することで,簡単に実現できます。
登録例です。($(9)はタブの代用です。)
- 関連付けプログラムで開く
- "Start $(9)%!%^Start "
カーソルを合わせて[F]でファイルメニューを出し,[S]でStartコマンドを実行すると,画像ファイルならSusieなどのイメージビュワでオープンしたり,htmlをstartに渡すとMozillaで表示したりということができるようになります。
ファイラーでLFN/SFNを切り替える
複窓ファイラーでLFN表示の場合は一覧性がSFN表示の半分になってしまうので,多量のファイル操作を行う場合はSFNに表示を切り替えたいという場合があります。次の設定は1キーでLFN/SFNをトグル動作で切り替えるものです。
なお,空いているキーで直感的なものが思い付かなかったので,ドライブメニュー表示の予備キーに使われている[L]をもらってしまいます。もちろん他の空いているキーなら何でもかまいません。
[vzfl.def]への設定例
1 "!Filer"
(r)??.
;; (r==':'||r=='L')? r='D', ;[L]を削って
(r==':')? r='D', ;このように
r[, &Fm(r) (r>=0)? {
sp+=2, (r)>?{ #F #L #M #P #S #V #W #+ #> #< #O #E }
}
r], (r)>!{
; L #L ;Drive
; M #M ;Mask
;;== 略 ==
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
L >L ;LFN/SFN Toggle ;;追加;;
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;== 略 ==
N #N ;new file
; C >C ;Copy
}.
:C pm="zcopy %@ %2", #!
:X pm="%1 %2", #!
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:L lf!, #V #V . ;LFN/SFN Toggle ;;追加;;
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
このように追加記述することで,ファイラー起動中であれば[L]キーだけでLFNとSFNを切り替えて表示することができます。なお,この部品にリフレッシュ効果を持たせれば,ファイラーの再表示をしたいときにも使用できて便利でしょう。
ファイラーリフレッシュの部品
#U (fg.0)?{ &s #93 &d #U #93 }
この部品を配置しておいて,他の部品から飛べるようにしておくと,以下のように色々な場面で画面リフレッシュを行えるようになります。
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
L >L ;LFN/SFN Toggle
U >U ;Filename/New Toggle
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;== 略 ==
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:L lf!, #V #V >u ;LFN/SFN Toggle
:U fs^=5, ;Filename/New Toggle
:u #U (fg.0)?{ &s #93 &d #U #93 } . ;Refresh
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -