【プログラミング】ファイルの更新日時を比較する(4)

無用なファイルのコピーを防ぐために、ファイルの更新日時を取得して比較するということをプログラムから行ってみる、4回目です。しつこく続きますが、一定の結論は昨日に出たはずです。

【プログラミング】ファイルの更新日時を比較する(3)

要は、Parallels Desktop越しに見えるファイルのタイムスタンプには、ミリ秒単位の値がないという結論だったのですが、一般的なWindowsネットワークのファイルではどうなのでしょうか?

調べるのは簡単で、昨日のプログラムで調べるファイルのパスを変更するだけです。私は、Windows側のファイルもTime Capsuleでバックアップしていますから、Time Capsuleのパスを指定するだけです。

    const _TCHAR *pathname2 = L"\\\\time-capsule\\Data\\Backup\\macbookpro_win7\\user\\AppData\\Roaming\\justsystem\\Shuriken\\user\\";

さっそく実行してみました。

Getfiletime_03

あらら?なんとも中途半端な時間が表示されていますね。これは、ミリ秒がサポートされていないとかいう話ではなさそうです。別のファイルにしてみましょうか。

Getfiletime_04

何と、55の部分が同じです。もしかしたら、いつも55を返すのかも知れませんね。さらに別のファイルにしてみましょう。

Getfiletime_05

これはクロですね。まともにサポートしておらず、55を仮に返すようです。ということは、このネットワークドライブに対して、Shurikenがバックアップするとしたら、常に全ファイルをバックアップする、ということになってしまうということです(偶然、ミリ秒部が55ミリ秒より小さいファイルがあるかも知れません)。

ちなみに、これはネットワークドライブのしようというよりは、バックアップしたソフト(CopyTo)の仕様かも知れません。ソースが公開されているわけではないのでそのへんはよくわからないですが…。

いつの間にか、本来の目的を忘れてきましたが、いろいろ興味深いのでもう少しやってみることにします。

 

コメント