DOBON.NET DOBON.NETプログラミング掲示板過去ログ

更新されたファイルのみコピーするには?

分類:[.NET]

VB.NET2003を使用しております。

サーバ上にあるAというフォルダに入っているファイルと
自PCにあるBというフォルダに入っているファイルを比較し
Aのフォルダにあるファイルで更新日が新しい物、又はAにのみ
存在するファイルを自PCへコピーしたいと考えております。

どなたかご存じの方見えましたら、ご教授頂けないでしょうか?

宜しくお願い申し上げます。
■No2164に返信(BELLさんの記事)
> VB.NET2003を使用しております。
>
> サーバ上にあるAというフォルダに入っているファイルと
> 自PCにあるBというフォルダに入っているファイルを比較し
> Aのフォルダにあるファイルで更新日が新しい物、又はAにのみ
> 存在するファイルを自PCへコピーしたいと考えております。
>
> どなたかご存じの方見えましたら、ご教授頂けないでしょうか?
>
> 宜しくお願い申し上げます。
>

フォルダAにある全ファイルの情報を取得し、そこから1ファイルずつフォルダBでの存在をチェック。
存在が確認された該当ファイルの更新日付の取得を行い、フォルダAにある同名ファイルの更新日付を比較。
更新されていたらorフォルダBにファイルが存在しなかったらフォルダAからフォルダBへコピーといった感じでしょうか。

フォルダのミラーリングを目的としているのであれば、フォルダAから削除されたファイルも検知しなくてはならないので、フォルダBに存在してフォルダAに存在しないファイルも探す必要があります。

上記の方法は、以下を参考にすればできるでしょう。

 あるフォルダ以下にあるファイルをすべて取得する
 http://dobon.net/vb/dotnet/file/getfiles.html

 ファイル、ディレクトリが存在するか調べる
 http://dobon.net/vb/dotnet/file/fileexists.html

 ファイルのコピー、削除、移動、属性の取得と変更、タイムスタンプの取得と変更
 http://dobon.net/vb/dotnet/file/filecopy.html

DOBON.NET | プログラミング道 | プログラミング掲示板