[HOME]  [リストへもどる] [全部表示 会議室風]  [全部表示 保存用] 
一括表示

  古いDOSプログラムを LFN 対応させる - Konno 07/05/10-23:29 No.2417
 ┗ Re: 古いDOSプログラムを LFN 対応させる - としき 07/06/11-00:29 No.2473
  ┗ Re^2: 古いDOSプログラムを LFN 対応させる - Konno 07/06/12-01:39 No.2475
   ┗ Re^3: 古いDOSプログラムを LFN 対応させる - としき 07/06/12-20:07 No.2476
    ┗ Re^4: 古いDOSプログラムを LFN 対応させる - Konno 07/06/13-01:00 No.2477
     ┗ Re^5: 古いDOSプログラムを LFN 対応させる - Konno 07/06/14-23:31 No.2478

(2417) 2417古いDOSプログラムを LFN 対応させる  投稿者: Konno   2007/05/10(木) 23:29
   コメント数 1

職場のPCの一部がWin2000 マシンになった。今までの古いDOSアプリでは
DIR の出力結果を利用してLFNファイラーもどきをでっち上げ、それで長い
ファイル名もなんとか使えていたが、Win2kやXPでは DIR の仕様が変わった
ため、長い名前が見えなくなってしまった。

私は極力長い名前を使わないように、又、使ってもなるべく先頭6バイトで判別
できるようにしてきたので問題無いが、普通の人は長い名前を使いたがるようで
ショートファイル名の一覧を見ても何がなんだかさっぱり判らない。

それでも私の自作ソフトの自動変換機能は便利だからと、いまだに愛用していた
だいているようなので、LFN を SFN に変換してくれるソフトを探してみたところ
SFN.EXE というのがありました。

SFN: MS-DOS プログラムを LFN 対応させるラッパー 豊田英司 1997年8月12日
http://www.gfd-dennou.org/library/cc-env/sfn/

古いプログラムを仮に EDIT.EXE とすると、バッチで運用しているので、バッチ
は仮に ED.BAT とします。(う〜ん、萎える名前だ(^^;)
SFN.EXE はパスの通ったディレクトリに置きます。

おっと、肝心なものを忘れていました。LFN 対応のファイラーです。VZ だと
ライセンスが問題なので、手持ちを探したところ、なんちゃってファイラーが
あったので、見てみると、外部エデイタの登録ができました。ラッキ〜。
またまたikuboh さんに感謝。

なんちゃってファイラーを起動し、オプションタブ→専用エデイタ→ダイアログ
で ED.BAT を選択。で登録されます。シフト+エンターでエデイタ起動です。
ED.BAT の中身は

SFN EDIT %1

です。
これでOSがXPになっても古いDOSソフトで長い名前を使うことが出来るように
なりました。(^_^)

      - No.2417 -    このTreeへ           [リストへもどる] soft

(2417) 2473Re: 古いDOSプログラムを LFN 対応させる  投稿者:としき   2007/06/11(月) 00:29
参照先:http://www.hinocatv.ne.jp/~toshiki/
    2417 番 Konno さんへのコメント    コメント数 1

> SFN: MS-DOS プログラムを LFN 対応させるラッパー 豊田英司 1997年8月12日
> http://www.gfd-dennou.org/library/cc-env/sfn/

これって、とらじさんのlfnadpと似たようなものですよね。
それぞれ、どんな特徴があるのでしょうか。

      - No.2473 -    このTreeへ    コメント元:2417 へ [リストへもどる] pre

(2417) 2475Re^2: 古いDOSプログラムを LFN 対応させる  投稿者:Konno   2007/06/12(火) 01:39
    2473 番 としき さんへのコメント    コメント数 1

> これって、とらじさんのlfnadpと似たようなものですよね。
> それぞれ、どんな特徴があるのでしょうか。

lfnadp はvfat.com という常駐プログラムです。オプションはありません。
INT21 をフックしてLFN関連の拡張ファンクションをサポートするのですが、
私が試した範囲ではうまく動いてくれませんでした。
たぶん、スペースのある場合の引用符で囲む仕様があってないんだと思いますが、
オプションが無いのでプログラム側で対処する必要があるのでしょう。
ただ、場合によっては古いプログラムでも長いファイル名を表示できたので
研究用のネタとしては面白そうです。今は面倒だから手を出しませんが。

SFN.EXE は通常のプログラムで、自身のコプロセスで古いプログラムを起動させる
方式で、名前の通り、LFNをSFNに変換して渡します。
いくつかのオプションがあるので、こちらのほうが仕事で使うには確実だと思います。

でもとしきさんなら必要になったら自分でさくっと作ってしまうでしょうし、
この手のツールは今ではほとんど需要が無いでしょうね。

      - No.2475 -    このTreeへ    コメント元:2473 へ [リストへもどる] pre

(2417) 2476Re^3: 古いDOSプログラムを LFN 対応させる  投稿者:としき   2007/06/12(火) 20:07
参照先:http://www.hinocatv.ne.jp/~toshiki/
    2475 番 Konno さんへのコメント    コメント数 1

なんか、私とKonnoさんのいずれか、または両方に誤解があるようです。

> でもとしきさんなら必要になったら自分でさくっと作ってしまうでしょうし、

さくっとなんて、とてもとても無理です。
それはさておき。

> lfnadp はvfat.com という常駐プログラムです。オプションはありません。

もしかして、バージョンが違うのでしょうか。
私が見たのは、lfnadp.exeというプログラムでした。
今回、あらためてドキュメントを読んでみましたが、オプションがない、という
点は間違いないようです。
SFNの方のドキュメントはまだ読めていませんが、

> SFN.EXE は通常のプログラムで、自身のコプロセスで古いプログラムを起動させる
> 方式で、名前の通り、LFNをSFNに変換して渡します。
> いくつかのオプションがあるので、こちらのほうが仕事で使うには確実だと思います。

上記引用部3行のうち、上2行の部分はlfnadpと同じように思えます。
となると、SFNの方のメリットは、3行目の部分という事になりそうです。

      - No.2476 -    このTreeへ    コメント元:2475 へ [リストへもどる] pre

(2417) 2477Re^4: 古いDOSプログラムを LFN 対応させる  投稿者:Konno   2007/06/13(水) 01:00
    2476 番 としき さんへのコメント    コメント数 1

> > lfnadp はvfat.com という常駐プログラムです。オプションはありません。
> もしかして、バージョンが違うのでしょうか。
> 私が見たのは、lfnadp.exeというプログラムでした。

あれぇ?変だなぁ?と思って lfnadp.exe でググってみましたが見つかりません。
ところが、lfnadp で検索したら出ました。なんと、めざら資源の寅次ツールの
ところのものだったんですね。
http://homepage3.nifty.com/mezala/vz/env/win/win07.html
(TAGLIGHT.EXEの新版も軟体ではなくてこちらにあったとは・・・)

私が言っていたのは同じ寅次さんの VZ_WIN1.LZH の中の VFATADP.LZH に入っていた
外部ツールで、はおい氏作のものでした。
そういえばこの便利小物集WIN3部作は軟体にも見当たらないですねぇ。
メールで送りつけようかしらん。(^^;

> 上記引用部3行のうち、上2行の部分はlfnadpと同じように思えます。
> となると、SFNの方のメリットは、3行目の部分という事になりそうです。

ということで、lfnadp.exe と sfn.exe はほぼ同じ動作のもののようですね。
となると、lfnadp.exe も試してみたほうが良いですね。

      - No.2477 -    このTreeへ    コメント元:2476 へ [リストへもどる] pre

(2417) 2478Re^5: 古いDOSプログラムを LFN 対応させる  投稿者:Konno   2007/06/14(木) 23:31
    2477 番 Konno さんへのコメント

> ということで、lfnadp.exe と sfn.exe はほぼ同じ動作のもののようですね。
> となると、lfnadp.exe も試してみたほうが良いですね。

試してみましたが、私のやり方では vfat.com と同じように、上手くいきませんでした。
やはりスペースを含むファイル名がうまくいかないです。
ということで、現在上手く動いている sfn.exe を使い続けることにします。

ところで、この手のプログラムはコプロセスを使うと書きましたが、実際には
SHELL 文でできますね。手持ちのBASICコンパイラで割と簡単に出来そうな気が
してきました。いまさらやりませんが。(^^;
ということで、やはりとしきさんならサクッではないかと。(^^;

      - No.2478 -    このTreeへ    コメント元:2477 へ [リストへもどる] pre