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

解決


u_1  2004-12-13 19:57:01  No: 118248

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

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-14 02:44:47  No: 118249

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


de  2004-12-14 03:24:06  No: 118250

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

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


u_1  2004-12-15 03:19:00  No: 118251

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加