(10734)
10734:
VTDOS & VZでファイル名が異常
投稿者:
shadow
2023/03/29(水) 20:56
コメント数 3
ファイル名に = が入っていると変な現象が起こります。
例えば
windowsで abc=.txt のファイルを作成
VTDOS で dir すると
abc=.txt 問題なし
vzを起動しfilerで見ると
abc_~1.txt
上記の表示になります。
Rename と ロングファイル名表示は問題ありません。
ショートファイル名で = の箇所が _~1 の表示になります。
全てのVZで同じことがおきます。
皆さんの環境ではどうなんでしょうか?
- No.10734 -
このTreeへ
[リストへもどる]
soft
(10734)
10736:
Re: VTDOS & VZでファイル名が異常
投稿者:
konno
2023/03/29(水) 22:39
10734 番 shadow さんへのコメント コメント数 1
> ファイル名に = が入っていると変な現象が起こります。
'=' は、ショートファイル名に使えない文字なのではないでしょうか。
純DOSエミュのNP2 で試すと、無効なパス名と怒られます。
これだけでは何なので、ネットで検索すると
http://elm-chan.org/docs/fat.html#lfn
こちらのサイトから引用すると
-----------------------------------------------------------
短いファイル名
短いファイル名では、8バイトまでのボディとオプションのドット(.)+3バイトまでの拡張子に制限される、いわゆる8.3形式のファイル名が使用できます。
パス名のトータル長は、3バイトのドライブ文字 + 64バイトのパス + 12バイトのファイル名の合計79バイトとなります。
ファイル名を構成する文字は、ASCII英数と一部のASCII記号$%'-_@~`!(){}^#&および拡張文字(非ASCII文字)の任意の組み合わせが可能です。
長いファイル名
LFNでは、255文字までのファイル名が使用可能です。
使用可能な文字は、SFNで使用可能な文字全てに+,;=[]が加わっています。
ドットはファイル名の中にいくつでも含めることができ、スペースもファイル名の任意の位置に挿入することができます。
ただし、ファイル名の末尾に来るドットやスペースは無効で、API入力の段階で除去・無視されます。
ファイル名の先頭に来るドットやスペースは有効ですが、UIによっては(たとえばWindowsコモンダイアログ)これらのファイル名を入力できません。
LFNエントリには、大文字変換は行わずに入力のままの形のUnicode(UTF-16)文字列として格納されます。
-----------------------------------------------------------
このように書いていました。
各種DOSエミュでは、'=' があるとロング名として扱っていると思われます。
- No.10736 -
このTreeへ
コメント元:10734 へ
[リストへもどる]
soft
(10734)
10740:
Re^2: VTDOS & VZでファイル名が異常
投稿者:
shadow
2023/03/30(木) 08:39
10736 番 konno さんへのコメント
色々調べていただき有難うございます。
> 使用可能な文字は、SFNで使用可能な文字全てに+,;=[]が加わっています。
私が調べた使用可能な文字はLFNの方だったようです。
早とちりしていました。
- No.10740 -
このTreeへ
コメント元:10736 へ
[リストへもどる]
soft
(10734)
10737:
Re: VTDOS & VZでファイル名が異常
投稿者:
文太
2023/03/29(水) 23:16
10734 番 shadow さんへのコメント コメント数 2
shadowさん
あはははは。「確定申告」は必要だから困るんだよ、というのは分かる。
でも、なんでまた、そのような冒険を?
ほんとに必要なのですか?
とにかく、DOS 6.2V のドコモバのVzファイラではファイルが作れません
でした。ここのcommand.com は、「Invalid keyword」と言っていました。
ネットでは、「それは代入の意味になっちゃうから、クゥートに入れない
とダメなの」みたいな書き込みがありました。Win LFN 環境。
なんだろう、パソコンに意味のある記号を裸でコマンドラインには書けない
みたいなニュアンスでした。
vtdos環境だとVzファイラでファイルは作れるが、仰るとおり、a_b~1.txt
になりますね。LFN扱いなのでしょう。そしてその際、= -> _ 変換が
(見た目上?)入るのでしょうかね?
a=b.txtを作ろうとしたときの話です。
なお、秀丸からa=b.txtでファイル保存をしようとしたら、ちゃんと上書きを
尋ねてきました。a_b~1.txtが内部的に(?)a=b.txtと認識されているみたい
でした。
もう迷宮入りみたいなものですが。以下、Win7 環境。
>dir a=b.txt (command.com)
File Not Found
>dir a_b~1.txt (command.com)
2023/03/29 22:58 5 a=b.txt
>dir a=b.txt (cmd.exe)
2023/03/29 22:58 5 a=b.txt
>dir a_b~1.txt (cmd.exe)
2023/03/29 22:58 5 a=b.txt
とのことでした。(5 は 5 bytes)
もちろん僕は詳しい仕組み(理屈)をまったく知りません。
- No.10737 -
このTreeへ
コメント元:10734 へ
[リストへもどる]
pre
(10734)
10741:
Re^2: VTDOS & VZでファイル名が異常
投稿者:
shadow
2023/03/30(木) 08:53
10737 番 文太 さんへのコメント コメント数 1
> でも、なんでまた、そのような冒険を?
> ほんとに必要なのですか?
と聞かれれば必要じゃないです。
興味本位です。
ブラウザで調べた情報をコピペしてエディターで一時保存しています。
保存するときに1行目がファイル名になるのでそのまま保存しているのですよ。
たまたま=が含まれていたのです。
清書のためVZで開くときに気づいたのでした。
- No.10741 -
このTreeへ
コメント元:10737 へ
[リストへもどる]
soft
(10734)
10743:
Re^3: VTDOS & VZでファイル名が異常
投稿者:
文太
2023/03/30(木) 14:04
10741 番 shadow さんへのコメント コメント数 1
shadowさん
すばらしいですね!
うん、LFN <-> SFN の話でなく、その情報管理システム。
ワードですよね、1行目がとりあえずのファイル名になるの。
そして、「一時保存」と「清書」のシステム。
いやあ、何度も同じこと、グーグル先生にお聞きしておりますなぁ、という
場面はたしかにあり、どんどん消失してゆく記憶力にもかかわらず、道具立てで
解決にのぞむ根性にかけておりました。
がんばります!
- No.10743 -
このTreeへ
コメント元:10741 へ
[リストへもどる]
soft
(10734)
10747:
ロング名のあれこれ
投稿者:
konno
2023/03/30(木) 19:33
10743 番 文太 さんへのコメント コメント数 2
皆さん盛り上がっていますね。
私もまとめ的に、エミュ三種の盛り合わせを。(^^;
各種DOSエミュで、DIR してみました。
VTDOS USECMD=1 VZk常駐/非常駐 MSDOS6.2
D:\01 のディレクトリ
2023/03/30 15:26 0 MS=.txt
2023/03/30 15:26 0 MSs=.txt
2023/03/30 15:36 0 VT=.txt
VTDOS USECMD=0 VZk常駐/非常駐 MSDOS6.2
Directory of D:\01
MS_~1 TXT 0 23-03-30 15:26
MSS_~1 TXT 0 23-03-30 15:26
VT_~1 TXT 0 23-03-30 15:36
※ USECMD=0 だと、ショート名になるんですね、メッセージも英語に。(^^;
MS-DOS Player FreeCOM
D:\01 のディレクトリ
MS_~1 TXT 0 23/03/30 15:26
MSS_~1 TXT 0 23/03/30 15:26
VT_~1 TXT 0 23/03/30 15:36
DOSVAXJ3
ディレクトリは D:\01\
MS= TXT 0 2023-03-30 15:26 MS=.txt
MSS= TXT 0 2023-03-30 15:26 MSs=.txt
VT= TXT 0 2023-03-30 15:36 VT=.txt
楽天01~1 TXT 68 2023-02-19 22:51 楽天0123456789 01.txt
おや? 何か変ですね。
ショート名なのに "=" 表示になっています。
LFNでは、SFNで使用可能な文字全てに+,;=[]が加わっています。とありますが、
ファイル名に "=" を使うと、他のエミュではロング名として作成されますが、
DOSVAXJ3 では新規作成できません。
これは、作者様に、別件でメールしました。
# アイドル推しが増えるかもしれないの。嬉しい!!
# 「なんてったって アイドル」 と言えば、誰?
- No.10747 -
このTreeへ
コメント元:10743 へ
[リストへもどる]
pre
(10734)
10749:
Re: ロング名のあれこれ
投稿者:
文太
2023/03/31(金) 00:39
10747 番 konno さんへのコメント コメント数 1
>私もまとめ的に、エミュ三種の盛り合わせを。(^^;
あはははは。得意技!
>ショート名なのに "=" 表示になっています。
>これは、作者様に、別件でメールしました。
僕は「仕様」でもいいんじゃない? と思いました。エミュ作家も
ほんと大変ですよね。
僭越ですが、「konno組には仲間がいます」アピールにはなりますかね。
ならんか?!
- No.10749 -
このTreeへ
コメント元:10747 へ
[リストへもどる]
soft
(10734)
10750:
Re^2: ロング名のあれこれ
投稿者:
konno
2023/03/31(金) 14:19
10749 番 文太 さんへのコメント コメント数 1
> >私もまとめ的に、エミュ三種の盛り合わせを。(^^;
> あはははは。得意技!
これはマジな話、このエミュ三種で問題なくVZが動かないと滅茶苦茶悔しいから。(^^;
> 僕は「仕様」でもいいんじゃない? と思いました。エミュ作家も
> ほんと大変ですよね。
私なら仕様にして逃げたかもですが、プロはその辺妥協せずキッチリやりますからねぇ。(^^;
> 僭越ですが、「konno組には仲間がいます」アピールにはなりますかね。
これは大いに感じています。この1年の間でVZだけでも
としきさんは、[ESC]i マクロの問題提起し、それがきっかけで VZのバグをあぶり出せましたし
めざらさんは、同様の問題を ClpPst.def で提起し、それがきっかけで 10#さんにメール出来ましたし
文太さんは、「zp ってなに?」という問題提起し、それがきっかけで WinNT系の問題解決出来たかもだし
shadowさんは、ファイル名の "=" の問題提起し、それがきっかけで DOSVAXJ3の挙動が発見出来ましたし
よくこれだけ問題発見出来たものですね。(^^;
これらはいずれも私一人では解決できないことばかりでした。
みなさんの問題提起と沢山の検証のおかげで化学反応が起きたようです。
私はみなさんに導かれてか、引っ張られてか、やっとこさ先に進むことが出来たように思います。
何ミリかもしれませんが。
- No.10750 -
このTreeへ
コメント元:10749 へ
[リストへもどる]
soft
(10734)
10751:
Re^3: ロング名のあれこれ
投稿者:
文太
2023/04/01(土) 18:00
10750 番 konno さんへのコメント
ムダに長文になりました。
>>私もまとめ的に、エミュ三種の盛り合わせを。(^^;
>これはマジな話、このエミュ三種で問題なくVZが動かないと滅茶苦茶悔しいから。(^^;
「滅茶苦茶」に実感がこもってますね。いいです!
助かってます!
>私なら仕様にして逃げたかもですが、プロはその辺妥協せずキッチリやりますからねぇ。(^^;
あ、勝手に決めてる、、、。
>文太さんは、「zp ってなに?」という問題提起し、それがきっかけで WinNT系の
>問題解決出来たかもだし
えーと、うーんと、、、。それはよかった、とにかく。
ではありがたく、クレジットだけいただいておきます。スワップさせなければ、
不安定ではないような気もしますが。
ただ疑問は、なぜそんなものに変数名を与えて外に出したのだろう? という
こと。マクロから状況を見るため? 書き換えに失敗したら落ちると思うんですけどね?
そうでもないのかな?
そういえば、数日前に思ったのですが、vtdos自体は、最近おちていません。
なんだろう? 最新版にしたのがよかったのか? vtdos.cfgがうまくはまったのか?
あんまり使ってないからかなぁ? (。o゚)☆\バキ
>これらはいずれも私一人では解決できないことばかりでした。
とはいえ、最後の(最初と途中もかもしれないけど)一押しはkonnoさんです!
元に戻って。でも、エミュ作家だって、ユーザさんから反応がときにはあって
嬉しいものなのかもしれませんね。作って公開したら、やっぱ使って欲しいでしょうし。
>何ミリかもしれませんが。
マジな話。
体調に不安をかかえ(思い過ごしだろう)、残り時間のことをけっこうよく
考えています。そして、幸福とは何か、と。青年みたいに。
で、出た結論は、自分の成長です。進化です。これ以上の、これ以外の幸福はない
な、と。ですから、1ミリでも2ミリでも前進は前進。幸福です。
しっかし、1993年(僕のばあい)に発売になったエディタに2023年になって、
その環境を含め、まだこだわっている人たち、、、。あ、今年の12/6、30周年!
幸せな人たちだ。モノを大事にする人たちだ。
でも、天才の作品なんだもの、しょうがないじゃん。
富士通 biblo WinMEノートのcmos電池が切れ始め、本格的にバラして交換する
しかないぞ、と算段をしています。デスクトップはその点、簡単。
その後。SFNでファイルに「=」を「仕様」としてエミュレータが許すという
ことについて、つらつらと考えています。やっぱダメですね。作者は直すでしょう。
だって、そのファイル、SFNしか扱えない環境(DOSですね)では、、、どうなる
のでしょう? たとえばUSBメモリにコピーされたそのファイルをDOSで開こうと
したら。かなりナイスな発見だったかもしれませんね。
純DOSな環境をお持ちの方が、世間にどれだけいるか分かりませんが。
もっともエミュ作る人は、持ってそうですね。
- No.10751 -
このTreeへ
コメント元:10750 へ
[リストへもどる]
soft
(10734)
10752:
Re: ロング名のあれこれ
投稿者:
文太
2023/04/01(土) 21:07
10747 番 konno さんへのコメント コメント数 2
konnoさん
えと、簡単なテストだと思うので、やってみていただけますか。
まだ、つらつらしてるのです。
清十郎のチュートリアルをざっとまた眺めてみたのですが、SFNとLFNの関係
というものがよく分からなくて。
> その後。SFNでファイルに「=」を「仕様」としてエミュレータが許すという
>ことについて、つらつらと考えています。やっぱダメですね。作者は直すでしょう。
この辺りの件なのですが、DOSVAXJ3で、「a=b.txt」を作る。
vtdosのファイラで、lf+ で、このファイルを見てみる。
こんな実験です。
いちおう混濁したまま書いてみると、
「a=b.txt」はLFN、これのSFNが「a_b~1.txt」(エイリアス)。これが正規の仕様。
vtdos(LFN対応)で、「a=b.txt」を作れば、上の関係のまま表示される。
「a=b.txt」がSFNとして作られたら、どうなる?
こんな感じです。「a=b.txt」がSFN扱いだと、LFNも同じものになると思う。
でも、「a=b.txt」(SFN)なんてのは、DOSVAXJ3以外では許されないと思う。
どうなりますでしょうか? 「ファイルがない」「ファイルが見えない」「存在が
確認できない」なのかなぁ、と思っているのですが。
- No.10752 -
このTreeへ
コメント元:10747 へ
[リストへもどる]
soft
(10734)
10753:
Re^2: ロング名のあれこれ
投稿者:
konno
2023/04/01(土) 23:50
10752 番 文太 さんへのコメント コメント数 1
> この辺りの件なのですが、DOSVAXJ3で、「a=b.txt」を作る。
> vtdosのファイラで、lf+ で、このファイルを見てみる。
> こんな実験です。
#10747 で konno さんは言いました。
> ファイル名に "=" を使うと、他のエミュではロング名として作成されますが、
> DOSVAXJ3 では新規作成できません。
「a=b.txt」がSFNとして作られたら、どうなる?
> こんな感じです。「a=b.txt」がSFN扱いだと、LFNも同じものになると思う。
> でも、「a=b.txt」(SFN)なんてのは、DOSVAXJ3以外では許されないと思う。
#10736 で konno さんは言いました。
> '=' は、ショートファイル名に使えない文字なのではないでしょうか。
> 純DOSエミュのNP2 で試すと、無効なパス名と怒られます。
DOSVAXJ3 で '=' をショートファイル名に使おうとすると、これと同じになるということです。
おかわりいただけたでしょうか。
DIR でショート名に "=" が表示されたのは、バグだと思われます。
#10751
> その後。SFNでファイルに「=」を「仕様」としてエミュレータが許すという
> ことについて、つらつらと考えています。やっぱダメですね。作者は直すでしょう。
> だって、そのファイル、SFNしか扱えない環境(DOSですね)では、、、どうなる
> のでしょう? たとえばUSBメモリにコピーされたそのファイルをDOSで開こうと
> したら。かなりナイスな発見だったかもしれませんね。
ここでは、なるほどなぁ、と思いました。(^^;
# もうおなかいっぱい。(^^;
- No.10753 -
このTreeへ
コメント元:10752 へ
[リストへもどる]
soft
(10734)
10755:
Re^3: ロング名のあれこれ
投稿者:
文太
2023/04/01(土) 23:53
10753 番 konno さんへのコメント
konnoさん
ちょうど入れ違いました。
>DIR でショート名に "=" が表示されたのは、バグだと思われます。
はい、賛成です!
># もうおなかいっぱい。(^^;
すいませんです。お手数をおかけしました。
- No.10755 -
このTreeへ
コメント元:10753 へ
[リストへもどる]
soft
(10734)
10754:
Re^2: ロング名のあれこれ
投稿者:
文太
2023/04/01(土) 23:51
10752 番 文太 さんへのコメント コメント数 1
konnoさん
すいません、すっかり混乱しました。
--- 引用です ---
DOSVAXJ3
ディレクトリは D:\01\
MS= TXT 0 2023-03-30 15:26 MS=.txt
MSS= TXT 0 2023-03-30 15:26 MSs=.txt
VT= TXT 0 2023-03-30 15:36 VT=.txt
楽天01~1 TXT 68 2023-02-19 22:51 楽天0123456789 01.txt
おや? 何か変ですね。
ショート名なのに "=" 表示になっています。
LFNでは、SFNで使用可能な文字全てに+,;=[]が加わっています。とありますが、
ファイル名に "=" を使うと、他のエミュではロング名として作成されますが、
DOSVAXJ3 では新規作成できません。
----------------
DOSVAXJ3は、少なくとも F_Create において純DOSなんですね。
だから作れない。
上の表示自体がおかしいんですね。
なんか迷宮に入ってしまいました。純DOSでは、「+,;=[]」はファイル名に
使えない。最初の定義どおりですね。
作者さんは、ぜったい直しますね。右のLFN表示はあるのですから。
- No.10754 -
このTreeへ
コメント元:10752 へ
[リストへもどる]
pre
(10734)
10756:
Re^3: ロング名のあれこれ
投稿者:
konno
2023/04/03(月) 20:44
10754 番 文太 さんへのコメント
> DOSVAXJ3は、少なくとも F_Create において純DOSなんですね。
> だから作れない。
> 上の表示自体がおかしいんですね。
だいたい合っていると思います。
あらためて確認してみたら、DOSVAXJ3 で新規作成は
DOSV=.TXT NG
"DOSV=.TXT" NG
'DOSV=.TXT' NG
DOSVAXJ3=1.TXT NG
1234567890.txt OK LFN作成成功
どうやら文字コードの範囲の問題のように思います。「+,;=[]」は全てダメみたいです。
修正版はもうすぐアイドルになって登場すると期待しています。(^^ゞ
#10755
どうやらおかわりはなしだったようで。(^^;
# 最近は少食なので、一杯で充分なのです。(^^;
- No.10756 -
このTreeへ
コメント元:10754 へ
[リストへもどる]
pre
(10734)
10745:
事故レス
投稿者:
文太
2023/03/30(木) 14:49
10737 番 文太 さんへのコメント コメント数 1
昨晩のテストがどうも奇妙な気がしてきたので、やり直しました。
--- (1)vtdos, usecmd=1, cmd.exe used
C:\>dir a_b~1.txt ;OK
2023/03/29 22:58 5 a=b.txt
C:\>dir a=b.txt ;NG
ファイルが見つかりません ;でも、なんで日本語? command.com + biling.sys
;で、日本語メッセージなのじゃなかったか?
C:\>dir "a=b.txt" ;OK
2023/03/29 22:58 5 a=b.txt
--- (2)vtdos, usecmd=0, cmd.exe NOT used, command.com v.6.2 used
C:\>dir a_b~1.txt ;OK
A_B~1 TXT 5 23-03-29 22:58
C:\>dir a=b.txt ;NG
無効なキーワードです. - a=b.txt
C:\>dir "a=b.txt" ;NG
パラメータの書式が違います. - "a=b.txt"
--- (3)「コマンドプロンプト」窓 = cmd.exe
C:\>dir a_b~1.txt ;OK
2023/03/29 22:58 5 a=b.txt
C:\>dir a=b.txt ;NG
File Not Found
C:\>dir "a=b.txt" ;OK
2023/03/29 22:58 5 a=b.txt
cmd.exeが変に見えるのは、クゥオートがないせいです。
少しだけ追記。さっき、めざらさんあてに「cmd.exe、変ですか?」という主旨の
発言をアップし、そして削除しました。
そこに書いたもう1つの点は、CUIのコマンドラインには、(たとえば引数の
区切りに半角スペースを使うなど)、そもそも制限条件があり、その影響で、
ファイル名とその扱い(クゥオートなど)にGUIにはない条件がでるのでは?
ということでした。
全体に、上で納得しました。
追記:Vzファイラでも、lf+ にすれば、ちゃんと、「a=b.txt」と
表示されました。
追記2:しつこいですねぇ。usecmd=1 環境です。vtdos窓です。
C:\>dir |more
だだだ、、、 cut
2023/03/29 22:58 5 a=b.txt
だだだ、、、 cut
コマンドラインで【その】ファイル名を指定したりしなければ、
ふつうに出ますね。これって驚くべきことなんだっけ? いえ、全体に
整合してると思います。
- No.10745 -
このTreeへ
コメント元:10737 へ
[リストへもどる]
pre
(10734)
10746:
Re: 事故レス
投稿者:
めざら
2023/03/30(木) 18:54
参照先:http://mezala.la.coocan.jp/
10745 番 文太 さんへのコメント コメント数 1
> cmd.exeが変に見えるのは、クゥオートがないせいです。
そうですね。要するに,文太さんがおっしゃるとおり,空白入りファイル名と同様に
コマンドラインでは引用符で括らないとダメという話でしたね。直接の関係なし。
事故?
- No.10746 -
このTreeへ
コメント元:10745 へ
[リストへもどる]
soft
(10734)
10748:
Re^2: 事故レス
投稿者:
文太
2023/03/30(木) 21:10
10746 番 めざら さんへのコメント
>事故?
(1) 昨晩のテストに間違いが含まれていた。
(2) 削除されためざらさん宛のレスに「cmd.exe、変?」「たしかに変ですね」
というのが含まれていた。
そんな事故でした。
- No.10748 -
このTreeへ
コメント元:10746 へ
[リストへもどる]
soft
(10734)
10739:
Re: VTDOS & VZでファイル名が異常
投稿者:
めざら
2023/03/30(木) 08:39
参照先:http://mezala.la.coocan.jp/
10734 番 shadow さんへのコメント コメント数 1
小文字で abc だからかな?と思い,エクスプローラで大文字の ABCD=.txt を作り,
確認したところ,ABCD_~1.TXT と表示された。あ,拡張子が小文字だった,と思って,
同様に ABCDE=.TXT を作ったところが,やはり ABCDE_~1.TXT と表示された。
という状況となりました。
これは,すごく古い vzk(例えば vzk5 とか)で同様になりますね。
「=」の制限は,cmd.exe にあるくらいで,ファイル名としては制限ないようです。
- No.10739 -
このTreeへ
コメント元:10734 へ
[リストへもどる]
soft
(10734)
10742:
Re^2: VTDOS & VZでファイル名が異常
投稿者:
shadow
2023/03/30(木) 13:31
10739 番 めざら さんへのコメント
> 「=」の制限は,cmd.exe にあるくらいで,ファイル名としては制限ないようです。
VTDOS.CFG設定のUSECMD=0|1
ビルトインコマンドの実行にCMD.EXEを利用します。とありました。
USECMD=0 に設定すると
VZの新規ファイル作成で abc=.txt を作ると
dirでもABC_~1.TXTと表示されました。
エミュレーターの仕様であることがわかったので良しです。
- No.10742 -
このTreeへ
コメント元:10739 へ
[リストへもどる]
soft