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

Vbscript VB脚本+;仅复制具有不同修改日期的文件,vbscript,Vbscript,我使用以下VB脚本(Shell对象)将文件夹和文件从\server\kits\u位置复制到D:\ 我们还可以在复制文件夹时显示“复制文件进度”对话框 源路径-\\server\kits\u位置 目标路径-D:\ 此VB脚本每周运行一次,以便更新目标驱动器“D:\”上的文件 通常源(\server\kits\u位置)上的文件未修改,因此在这种情况下,源文件和目标文件之间没有差异 因为文件非常大(1-10G) 我只想复制具有不同修改日期的文件 因此,只有与目标文件具有不同修改日期的源文件才会复制到目

我使用以下VB脚本(Shell对象)将文件夹和文件从\server\kits\u位置复制到D:\

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

源路径-\\server\kits\u位置

目标路径-D:\

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

通常源(\server\kits\u位置)上的文件未修改,因此在这种情况下,源文件和目标文件之间没有差异

因为文件非常大(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

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

请更改您的路径以适应

我用过

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


您可以使用
xcopy
命令吗?它允许您仅复制具有不同日期的文件(无论日期是大是小)。您可以提供如何在我的代码中集成xcopy的示例吗?复制文件夹时,复制文件进度对话框的显示必须是复制过程的一部分抱歉,
xcopy
没有GUI,它是windows命令行实用程序。它确实向您显示了正在复制的文件列表。为什么xcopy不同时复制根目录?例如,如果源是-\\server\kits\u位置,那么我希望将kits\u位置复制到D:\,实际上xcopy只复制kits\u位置目录下的目录和文件
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