VB脚本+仅复制具有不同修改日期的文件

时间:2012-03-13 09:10:30

标签: vbscript

我使用以下VB脚本(Shell对象)来复制文件夹&来自\ server \ kits_location的文件到D:\,

我们还会在复制文件夹时显示“复制文件”进度对话框。

来源路径 - \\ server \ kits_location

目标路径 - D:\

此VB脚本每周运行一次,以更新目标驱动器“D:\”

上的文件

通常源(\ server \ kits_location)上的文件没有被修改,所以在这种情况下我们没有源文件到目标文件的区别

因为文件非常大(1-10G),

我只想复制具有不同修改日期的文件

因此只有目标文件中具有差异修改日期的源文件才会复制到目标驱动器(D:\)

请在我的VB脚本中建议我需要添加的内容,以便只将diff文件从源文件复制到目标文件

我的VB脚本

     createobject("wscript.shell").popup "Start Copy FCO Kits from network server - \\server\kits_location\ to D:\ drive ", 2, "", 64 
     Set objShell = CreateObject("Shell.Application")
     Const FOF_CREATEPROGRESSDLG = &H0&
     strPictureTargetDIR = "D:\" 
     Set objFolder = objShell.NameSpace(strPictureTargetDIR) 
     ' Copy  Kits from network server to D:\ drive
     objFolder.CopyHere "\\server\kits_location\", FOF_CREATEPROGRESSDLG
     set objShell = Nothing

1 个答案:

答案 0 :(得分:3)

您可以像这样使用XCOPY从源目录复制到目标目录

请更改您的路径

我使用过these switches

  • / f 复制时显示完整的源文件名和目标文件名。
  • / d 复制所有比现有目标文件更新的源文件
  • / s 复制文件夹和子文件夹(空文件夹除外)
  • / e 复制任何子文件夹,即使它是空的。
  • / y 覆盖现有文件而不提示您
  • / h 复制隐藏文件和系统文件。
  • / r 覆盖只读文件

    Dim Path1
    Dim Path2
    Path1 = "C:\temp\*.*"
    Path2 = "C:\test\"
    Call XcopyFiles(Path1, Path2)
    
    Sub XcopyFiles(strSource, strDestination)
        Dim wsh
        Set wsh = CreateObject("wscript.shell")
        wsh.Run "xcopy.exe """ & strSource & """ """ & strDestination & """ /f /d /s /e /y /h /r", 1, True
        Set wsh = Nothing
    End Sub