ファイルを圧縮すると更新日付が変わる
更新日付が
10:23:59
のものを、cab32.dllを利用したプログラムで圧縮し、それを解凍すると、更新日付が
10:24:00
となっていた。
圧縮はcab32.dllを利用しているプログラムで、自己解凍形式を選択して行った。
これに対する対策は、cab形式でなくrar形式での圧縮を行えばよい、ということだった。
FATファイルシステムでは日付を偶数秒(2秒)単位でしか記録することができないそうだ(WinRARのヘルプ及びMicrosoftサポートオンラインより)。
おそらくcab形式はこのFATの仕様を踏襲しているのだろう。
(もしかするとcab32.dll独自の仕様なのかもしれないが、cab32.dllは「圧縮/解凍エンジンとしては Microsoft が提供している純正のライブラリーを使って」いるそうなのでcab形式としての仕様である可能性が高いと思われる。)
それに対し、rar形式では0.0000001秒の精度で格納できるオプションが存在する。つまりNTFSの精度「100 ナノ秒単位」での保存が可能であるようだ。
なお、WinRARのマニュアルを読む限りでは、zip形式でもこの精度の保持は不可能らしい。
また、WindowsXPの標準機能でzip圧縮を試してみたが、やはり更新日付はずれた。
なお、10:23:59のファイルは、エクスプローラ上では10:24と表示される。
コマンドプロンプトでのdirコマンドでは10:23と表示された。
cab32.dllを使用すると、解凍時のダイアログに表示するメッセージなどもカスタマイズできるのだが、WinRARも同等の機能はあり、代替使用するのに不満な点は無かった。
以上、初出は「Windows2000質問スレッド Part74」。
« 読書感想文 | トップページ | オープンコースウェア(OCW) »
コメント
この記事へのコメントは終了しました。
ルイヴィトン - N級バッグ、財布 専門サイト問屋
弊社は販売ルイ・ヴィトン) バッグ、財布、 小物、靴類などでございます。
1.品質を重視、納期も厳守、信用第一は当社の方針です。
2.弊社長年の豊富な経験と実績があり。輸入手続も一切は弊社におまかせてください。質が一番、最も合理的な価格の商品をお届けいたします。
3.お届け商品がご注文内容と異なっていたり、欠陥があった場合には、全額ご返金、もしくはお取替えをさせていただきます。
弊社は「信用第一」をモットーにお客様にご満足頂けるよう、
送料は無料です(日本全国)! ご注文を期待しています!
下記の連絡先までお問い合わせください。
是非ご覧ください!
ルイヴィトンバッグ https://www.cocoejp1.com
投稿: ルイヴィトンバッグ | 2020/03/10 03:40