0

Delphi でファイルの最終更新時刻を取得したいと思います。

通常は次のようなFileAge()方法でうまくいきますが、問題は次のとおりです: を使用して*ファイル A * をファイル Bで上書きすると、ファイル A の変更日が現在の上書き時刻で更新されません(?)CopyFile

ファイル属性もコピーしますが、ファイルが上書きされたときにCopyFile機能する変更日を取得する必要があります。

そのような機能はありますか?私のアプリケーション全体は、変更時間に依存して、ファイルを処理するかどうかを決定します!


EDIT明確にするために:私はファイルを監視しているだけです。それらを変更しているのは私のアプリケーションではありません。

4

1 に答える 1

1

のドキュメントにCopyFileは次のように書かれています:

既存のファイルのファイル属性が新しいファイルにコピーされます。

つまり、ファイルの最後に変更された属性、または実際にはファイルの属性に基づいてプログラムを使用することはできません。実際、ファイルの最終変更属性を変更するには、さまざまな方法があります。実際、時間をさかのぼることができます。

代わりにReadDirectoryChangesW、変更を追跡するために を使用することをお勧めします。これにより、ファイルが変更されるたびに通知を受け取ることができます。ReadDirectoryChangesWAPIに基づいて、イベント ベースの方法でプログラムを作成できます。

ファイル属性を使用できない場合ReadDirectoryChangesWは、ファイルの内容に基づいて決定する必要があります。

于 2013-01-23T19:40:52.843 に答える