フォルダの更新日時を変更させずにコピーする方法

解決


u_1  2004-12-13 10:57:01  No: 118248  IP: [192.*.*.*]

みなさんこんにちは。また質問させて頂きます。
下記の方法であるフォルダ(フォルダ以下のフォルダ、ファイル含む)を、
をコピーしていますが、フォルダの更新日時が処理を行った日時になってしまいます。(ファイルの更新日時は変わりません)
更新日時を変えずに、フォルダをコピーする方法はあるのでしょうか?
よろしくお願い致します。

Public Function FOLCOPY()
    Dim objFSO As FileSystemObject
    Dim objFolder As Folder
    Dim foldername As String

foldername = "c:\Test" 'コピー元のファイルのパス
'ここからが宣言
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(foldername)
objFolder.Copy "\\TESTPC\test"   'コピー先
End Function

編集 削除
u_1  2004-12-13 17:44:47  No: 118249  IP: [192.*.*.*]

同ドライブ上ならばMoveFileを使用して更新日時を変更せずにコピーが出来ます。コピー先を他のドライブやネットワーク上にすると、この現象が発生します。どなたかお力を貸してください。

編集 削除
de  2004-12-13 18:24:06  No: 118250  IP: [192.*.*.*]

それは仕様ですので、タイムスタンプを書き換えたい場合は
SetFileTimeを使ってフォルダのタイムスタンプをコピー元の
タイムスタンプと同じ日時に書き換える必要があります。

サンプル
http://www31.ocn.ne.jp/~heropa/vb02.htm

編集 削除
u_1  2004-12-14 18:19:00  No: 118251  IP: [192.*.*.*]

de様ありがとうございます。
リンク先を参考にしてなんとかできそうです。
それにしてもWindowsの仕様を知らなかった自分に・・・

編集 削除