過去の桐井戸端BBS (桐談義・その他)
4189 Windows9x と NT(2000) でのファイルシステムの違い hidetake 2000/1/17-22:15
FAT16 や FAT32 に NTFS とファイルシステムの違いはありますが、
それ以外に取り扱えるファイル名にも違いがあります。

つい先日 NetWare 上のファイルを NT で取り扱おうとして思い出し
たのですが、NetWare 上のファイルで"α"なんて含むと Microsoft
の NetWare クライアントソフトで NT 上にファイルをコピーしよう
とするとエラーで跳ねられコピーできません。
NT でも、Novell のクライアントソフトを使っていると、一応コピー
は可能です。

しかし、問題はそれだけでなく、DOS や Windows9x、それに NetWare
では全角文字の大文字/小文字は区別されますが NT 上では区別され
ないことにあります。

Widnows9x 上等では ABC.TBL と abc.TBL は区別されますが、
NT 上では表示は違っても同じファイルとして取り扱われます。DOS
の ANK (半角)文字と同じです。そして、"α"と言う文字も取り扱える
のですが、DOSアプリからは大文字の"А"としてしか見えません。これ
では"A"(エー)と区別つきません!!!

まぁ〜、問題になることもあるでしょうし、気付かないで済まされる
場合もあるでしょう...

例えば、桐の #UC2 は Windows のファイルシステムを考慮して追加
されたとも思いますが、この辺の取り扱いも Windows9x と NT(2000)
では異なってくる内容であるということです。

Windows9x から W2K(NT) への以降なんて、簡単に済まされそうです
が、突っ込んで行くと、その違いはあります。



さらに、この全角文字の大文字/小文字の取り扱いの違いを追及する
と面白い?内容であるので、もう少し詳しく書くと...

まさか、こんな事などする人などいないと思いますが、例えば、
大型商品の単価を"ABC.TBL"に、小型商品の単価を"abc.TBL"に
書き、別の表から表引きしたとします。

Windows9x 上だけで使う分には、表引きや計算式で書いたとおり、
"ABC.TBL"と"abc.TBL"を区別して計算されます。

それでは、これらのファイルを NT(2000) に持っていった場合はどう
なるか? また、Windows9x 上にファイルはあっても NT(2000)上の
桐からアクセスした場合はどうなるか? はたまた、NT(2000)上に
あるファイルを Windows9x 上の桐からアクセスした場合はどうなる
か?
また、ついでにこれらの存在を確認してから開くために #fsize で
"ABC.TBL"や"abc.TBL" をチェックした場合はどうなるか?
それも、ファイルの置き場所、桐の起動場所によりどうなるか?

興味のある方はご自分でお試し下さい...
特に NT(2000) から、Windows9x 上にあるファイルを開いた時には
面白い動作をします。 :-p

あと、1ヶ月ほどで Windows2000 も発売され、好むと好まざるに関わ
らず、否応なしに移行せざるを得ない場合もあろうかと思いますが、
どうぞお気を付け下さい。

4195 Re:Windows9x と NT(2000) でのファイルシステムの違い Ogo 2000/1/18-01:12
記事番号4189へのコメント
>Widnows9x 上等では ABC.TBL と abc.TBL は区別されますが、
>NT 上では表示は違っても同じファイルとして取り扱われます。

私もスタンドアローンの Win 95 上で面食らったことがあります。
半角の「h12」と「H12」が Windows 上で同じに扱われるのは充分承知。
問題は「H12」(「H」は全角)と入力したのに勝手に「h12」(「h」は全角)に
直された時です。これにはなかなか気付かずに大分悩みました。

MS-Access (Jet) を使った Visual-Basic のソフトなんですけどね。
インストール先を「H12〇〇」としてフォルダを作成したのに、あのインストーラー
のバカタレは勝手に「h12〇〇」フォルダを作成して、そこにインストールしちゃっ
たんですね。
Windows 上では「H12〇〇」と「h12〇〇」は違うフォルダなので、インストールし
たはずのファイルが存在しなくて……

http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm

なんて読めば、 MS-ACCESS のソートに関する無茶苦茶な推移率が公開されていますが、
とにかくマイクロソフトって言語センスないよなぁ。
4198 Re:Windows9x と NT(2000) でのファイルシステムの違い hidetake 2000/1/18-08:50
記事番号4195へのコメント
>インストール先を「H12〇〇」としてフォルダを作成したのに、あのインストーラー
>のバカタレは勝手に「h12〇〇」フォルダを作成して、そこにインストールしちゃっ
>たんですね。

ホンと困ったソフトですね! このソフト NT での動作を前提とでもして
いたのでしょうか?

まぁ〜、こう言うこともあるから、システムドライブやソフトのインス
トール先のファイル名&フォルダ名は、半角の英数字だけを用いた方が
何かと問題は無いのですよね。
データ(ドライブ)については、さすがに現在は全角文字も多く使いたい
時代ですが...

さて、この違い本当にこれからどうしようかと悩んでしまいます。

今までは、NT は一切考慮していなかったため、桐ではファイルの存在や
チェックは全て #UC2 で変換した上でチェックしていたのですが、これ
からはどうしようかと...

OS が何かだけでなく、そのファイルの存在場所によりチェック方法が
変わってくるわけだし...

やっぱ、無用なトラブルを防ぐには「全角小文字の使用禁止令」か...
しかし、何でこれぐらいの違い、9x と NT(2000) で存在するの?

Samba を使った Linux(UNIX) 系へのアクセスも mangle の設定で悩ま
されますが、やっぱマルチプラットフォームはめんどくさい? (^_^;



ps.
NT (2000) がデュアルブートとかで、DOS 上、または Windows9x 上で
abc.txt(中身はabc)、ABC.txt(中身はABC)の2つが作られ
ていたとして、NT (2000) 上でアクセスすると...

エクスプローラや他のファイラで「abc.txt」を開いても、開かれる
のは必ず「ABC.txt」で出てくるのは"ABC"

dir で見ると「abc.txt」のファイル名が2つ

DOS のファイラで見ると「ABC.txt」のファイル名が2つ

TYPE ABC.txt もしくは abc.txt したら"ABC"が2行表示される

完全に「abc.txt」にはアクセスできない状態だ...


4199 Re:Windows9x と NT(2000) でのファイルシステムの違い hidetake 2000/1/18-09:43
記事番号4195へのコメント
>
http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm

これって、show さんのところで紹介されていましたね。で、
Access でパスワード管理していて、何も考えないで、そのまま比較したり
していると、1バイト2バイトや半角全角の区別のないシステムになって
いるところもあるらしい。IIS + ASP でもそのようなところがあるらしい...
です。


4200 Re:Windows9x と NT(2000) でのファイルシステムの違い hidetake 2000/1/18-11:52
記事番号4199へのコメント
s/半角全角/大文字小文字/

戻る