• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイル名の勝手な書き換えについて→[XXX~1.(拡張子)])

ファイル名の勝手な書き換えについて

このQ&Aのポイント
  • ファイル名が[XXX~1.(拡張子)]となってしまったため、原因や修復方法について不明瞭です。
  • ファイル名の変更には規則性がなく、影響を受けたのは特定のATAボードに繋がっていたHDDです。
  • 過去の操作やウイルスの影響など、原因は不明ですが、ファイル名の書き戻しに頭を悩ませています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1です 記憶に自信が無かったので、ちょっと調べてみました。 FATファイルシステムのファイルに関する情報(ファイル名や位置情報、属性、作成日等)のことを「ディレクトリエントリ」と呼ぶそうです。 Win95以前は1ファイルに対し1つのディレクトリエントリを使用していました。 しかし、Win95以降の拡張FATシステムは、1ファイルに対しディレクトリエントリを複数使用することにより、ロングファイル名を実現しました。 DOS版のソフトは、ロングファイル名を保持しているディレクトリエントリを理解できず、ディレクトリエントリが破損していると認識してしまうことがあるそうです。 今回の問題は、DOSプロンプトでchkdskを行った事が原因である可能性が大きいと思われます。 ディレクトリエントリは、すでにchkdskにより書き換えられてしまっていると思うので、ファイル名を付け直さない限り元のファイル名に戻る事は無いと思います。 しかし、ディレクトリエントリが書き換えられているだけなので、ファイル自体の破損は起きていないと思います。 ファイル名の文字数の計算は半角文字を1文字、全角文字を2文字としますので、名前の書き換えを免れたファイル・フォルダは、文字数の合計が8文字以下では無いかと思います。 この回答を、書きながら思い出したのですが、私がWin95を使用していた時に1度だけ同じ様な経験をした様な記憶が微かにあります。 そのとき被害を受けたファイルはEXCELやWORDのファイルでロングファイル名を使っていたファイルだったと思います。

tznz617
質問者

補足

 返事が遅くなってすいません、こんな大事な件なのになんで気付かなかったんだろう・・・本当に申し訳ないです。 >しかし、ディレクトリエントリが書き換えられているだけなので、ファイル自体の破損は起きていないと思います。 ということは、ファイルシステムにおけるソフト的な異常であって、ハード的な異常、つまりHDD、もしかすると他のパーツにも故障は無いと、現時点では考えてもいいでしょうか? これならファイル名書き戻しは面倒ですが、故障によるHDDとファイルの損失さえなければこちらとしてはそれでいいので。更にこれから実は外しておいて被害に遭ってないHDDを戻そうと考えていて、PCに戻したとたんに「!」なんてことがなければいいので・・・こんなバカなことは無いですよね。それともちろんこの先も、事件の発端であるchkdskさえしなければ大丈夫であろうということが分かれば。  XPのコマンドプロンプトでは問題が無かったので、Meでも同じ機能と思ったDOSプロンプトを気軽に使ってしまったのがそもそもの間違いだったということでしょうか。これからはまた何かあったらいけないので、ファイル名の先頭を半角にしておこうと思わずにはいられません。日付だったら不自然ではないので。  しかしそれにしてもなぜOSが入ってるHDD(パーティションで分けてあるCドライブだけではなく、物理的に同じHDDの別ドライブ全部)だけが被害を免れたのでしょうか? これはかなり不思議です。最初の質問にも書いたように、あるドライブでのみchkdskコマンドを使っただけのはずなのに、他のHDDは書き換えられて、OSが乗ってるHDDだけが無事!? とはいえ仕組みが分かればなんてことないのかもしれませんが。  この部分は不明でも問題無いと思うので回答は無くてもいいです。問題が出たらまた質問を・・・。

その他の回答 (2)

回答No.3

「他のパーツにも故障は無いと、現時点では考えてもいいでしょうか?」 ファイル名の書き換えに関しては、ソフト的な要因によるものと考えていいでしょう。 しかし、事の発端であるPCの不調に関してはなんともいえません。 これは、今後突き詰めて行く必要があるでしょう。 chkdskに関してですが、XPとMEでは、まったく別物です。 XPのコマンドプロンプトはDOSプロンプトの互換プロンプトですが内部的には32Bitで動作(DOSプロンプトは16Bit)です。

tznz617
質問者

お礼

>ソフト的な要因によるものと考えていいでしょう ですよね、普通はそうですけど、実は今回はPC自体の異常から続く一連の処理の最後に起きたものだったんで、確証を得られるまで安心できなくて・・・。  とりあえずこれからは例の作業に関しては十分気をつけます。こんなこと忘れはしないですけど。ということで、今回は大変お世話になりました、ありがとうございました。  ついでですが、略されたせいでファイル名が同じになって、どれがどれなんだか中身を見ないと分からないのがたくさん・・・これからファイル名の戻し作業に苦労します。

回答No.1

FATの拡張領域に何らかの問題が発生したためと思われます。 そもそも、HDD上のファイルは「ファイル名及び位置情報」と「データ」が別々に記録されています。 DOSの時代のFATシステムのファイル名は8+3形式(ファイル名8文字+拡張子3文字)でした。 それが、Windowsになり拡張FAT領域を持つことによりロングファイル名に対応しました。 この、拡張FAT領域に問題が発生し部分的にロングファイル名が失われてしまえば十分おきうる問題だと思います。 ファイル名が変わっていないファイルのファイル名がすべて半角8文字、全角4文字以下だとすれば拡張FAT領域自体がクリアされている可能性もあります。

tznz617
質問者

補足

 回答ありがとうございます。素人ながらも、なんとなく全体の状況は理解できた感じです。  が、どうしてそうなってしまうのか、そしてそうならないようにするにはどうしたらいいのか、これについてはどうなんでしょうか? もちろん直せるなら直したい・・・。Windowsマシンを買ってから4~5年経ちますか、こんなこと初めてです、それもこんな大問題が。  また質問の中で「戻らない」と書いた元ファイル名ですが、やはりこれは“書き換えが起きてダメになってしまった”のか、それともどこかがおかしくて“今は変な風に表示されてるだけ”なのか、どちらでしょうか?  実は回答の中の単語を使ってgoogleで検索したら、某FAQサイトのある人はボリュームラベルに同じ問題が起きて、しばらくしたらHDDが認識しなくなったと・・・。ちなみに回答は無かったです、あまりに〈珍問題〉で直しようが無いのかと落胆です。  中身を調べてみたところ、 ♯1/先頭から全角のファイル(フォルダもでした)は100%近くが質問のタイトルどおりになってましたが、所々に数個書き換えから免れたファイル・フォルダが存在。 ♯2/先頭が半角文字だと書き換えは起こってない(例えば→(ファイル).jpgというファイル名だと、先頭が半角括弧なので書き換えは起きてない)。 ♯3/先頭が全角だとその後に半角が来ても書き換えが起きた(全角・半角・半角・全角~1という半角6文字分に書き換えられ)。 他にもあるかもしれませんがだいたいこんなところです。  またATAボードのことだけ書いてましたが、マザーIDEに付け直したHDDもすでになってました、ということは最終作業ではなく、まだそのHDDが付いていたときに起きたわけで・・・もう何がなんだか分かりません。  一応、Cドライブとプログラムが入ってるDドライブだけウィルススキャンをしましたが何も出てきませんでした。そして標準スキャンディスクをしたら異常ドライブ全部にエラーが発見されて修復が行われました。以上です。

関連するQ&A