動作確認
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2018/01/09)
ファイルをコピーする処理において、コピー元がコピー先よりも新しいかどうかの確認をしたい時がある。
以下のように実装した。
# include <IOUtils.hpp> // for TDirectory.XXX
...
static bool isUpdated(String srcFile, String dstFile)
{
TDateTime srcDt; // コピー元
TDateTime dstDt; // コピー先
if (FileExists(srcFile) == false) {
return false;
}
if (FileExists(dstFile) == false) {
return true;
}
FileAge(dstFile, dstDt);
FileAge(srcFile, srcDt);
return (srcDt > dstDt);
}
srcFileとdstFileにはそれぞれコピー元とコピー先のファイルパス(フォルダ付き)を指定する。
コピー元ファイルがなければfalse, コピー先がない(コピー対象)ならtrueとしている。
あとは FileAge()でタイムスタンプを取得し比較により判断。