みなさんこんにちは。また質問させて頂きます。
下記の方法であるフォルダ(フォルダ以下のフォルダ、ファイル含む)を、
をコピーしていますが、フォルダの更新日時が処理を行った日時になってしまいます。(ファイルの更新日時は変わりません)
更新日時を変えずに、フォルダをコピーする方法はあるのでしょうか?
よろしくお願い致します。
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
同ドライブ上ならばMoveFileを使用して更新日時を変更せずにコピーが出来ます。コピー先を他のドライブやネットワーク上にすると、この現象が発生します。どなたかお力を貸してください。
それは仕様ですので、タイムスタンプを書き換えたい場合は
SetFileTimeを使ってフォルダのタイムスタンプをコピー元の
タイムスタンプと同じ日時に書き換える必要があります。
サンプル
http://www31.ocn.ne.jp/~heropa/vb02.htm
de様ありがとうございます。
リンク先を参考にしてなんとかできそうです。
それにしてもWindowsの仕様を知らなかった自分に・・・
ツイート | ![]() |