• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルサイズがいつの間にか勝手に変わる。)

ファイルサイズがいつの間にか変わる原因とは?

このQ&Aのポイント
  • ファイルサイズだけが変化することってあるのでしょうか?15年前~12年前にWin98マシンで作成したMP3ファイルが数百個あり、現在のWin7マシンに保存されています。最近、オリジナルファイルと現在のファイルを比較すると、約半数のMP3ファイルについてタイムスタンプそのままでファイルサイズだけが増加していることが判明しました。
  • ファイル更新時刻が変化せずにサイズだけが増加した原因は何でしょうか?可能性としては、ファイルシステムやOSのバグによる変化、コピーコマンド等のバグによる変化、または何らかのプログラムによる操作が考えられます。
  • また、タイムスタンプも変化してサイズ増加しているファイルもありますが、これはWindows Media Playerで再生した時に勝手にタグ情報が書き換えられるためです。

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

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.3

回答ではありませんがその2つのファイルをバイナリレベルで比較すれば どういった違いがあるかは判断できるのではないかと思います その内容次第では原因が分かることがあるかもしれません

noname#182652
質問者

お礼

ありがとうございます。 バイナリエディタで見たところ、 今回サイズ増加したファイルは、いずれもファイル末尾にちょうど増加分128バイトのタグ情報が付加されていました。 何らかのプログラムが書き加えたものと思われますが、 書き換え時に更新日時をオリジナル状態に書き戻していると推測されますかね。 だとしたらずいぶん怪しい動作ですね。意図も不明ですし。

その他の回答 (3)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.4

No3 お礼へ >書き換え時に更新日時をオリジナル状態に書き戻していると推測されますかね。 >だとしたらずいぶん怪しい動作ですね。意図も不明ですし。 ID3タグに対して改変を行うソフトというのは結構あるみたいですよ Windows Media Playerではタイムスタンプ更新してるようですが 情報元 http://ja.wikipedia.org/wiki/ID3%E3%82%BF%E3%82%B0 元々の作成したオリジナルの作成日を維持するといった 意味では日付に変化が出ないというのは親切設計と言えるかもしれません ソフトの作成仕様(思想)などによってそこら辺の事情は変わってくると思いますし 個人的にも両方のパターンでそれぞれ意味はあると思います どちらがいいかの判断もわかれるところではないかと思います より詳細を確認したいのならその追加されているタグがどういった情報に当たるのかを ファイルフォーマット仕様と比べて確認することぐらいしかないと思います

noname#182652
質問者

お礼

>オリジナルの作成日を維持 たしかにそういう面ではありがたいです。 ただ逆にファイルが書き換えられたことに気づきにくいことが気になるとも言えます。 というか、そもそも無断でファイルを書き換える動作自体がワタクシ的には非常にイヤですね。MP3に対するWindows Meida Playerとか、画像ファイルに対するWindowsフォトビューアーとか(表示時に回転させると何の表示もなしに無断で元ファイルを書き換え。しかもExifの回転情報ではなく画像本体データを書き換え。「ビューア」を名乗っているのにデストラクティブな書き換えをするとはいかがなものか?) --- でもともかくkoi1234さんのアドバイスで有益な情報を得ることが出来ました。 ありがとうございました。

回答No.2

サイズとはどのサイズでしょうか。 Windowsでは「サイズ」と「ディスク上のサイズ」の二種類があるのですが 前者は実際のファイルのバイト数で後者はファイルシステムが管理する サイズになりますこのサイズはクラスタサイズ(ディスクに保存できる最小単位) になります。 Windows7ではアロケーションユニットサイズと呼ばれてますね。 例えばクラスタサイズが4KBだとして1KBのテキストファイルを保存したと するとディスク上では最小単位の4KBとして扱われます。 端数分のあまりが増えます。 増え方として今のディスクのクラスタサイズが256KBとかだったりしませんか。 これ以外だと自分だとちょっと分かんないですね。

noname#182652
質問者

お礼

ありがとうございます。 そういう違いならすぐ分かるんですが、 今回はディスク上の専有サイズではなく、ファイルの純粋なサイズが違っている、ということです。 なお、Win98マシンはFAT32で、アロケーションユニットサイズはWin7マシンと同じ4K(4096)バイトです。

noname#182652
質問者

補足

誤変換訂正。 専有→占有

回答No.1

Win98は FAT16です、その後FAT32,やNTFS、EFATなどになっています、FAT16では2GBまでしか考えて作られていませんが、FAT32では最初は20GB改良で120GB、最終改良で2TB、NTFSは2TBとファイルの最大値が違います、しかもFAT16では8文字、現在のFAT32やNTFSでは、Windowsでは最大のフルパスの長さが256バイトです。から、約200バイト以上増えていて当然なのですが。

noname#182652
質問者

お礼

ファイルの管理情報(ディレクトリエントリやマスターファイルテーブル)とファイル本体のデータサイズは別の話かと思います。