2015-02-11 255 views
0

我有一个脚本,可以将文件从放置位置复制到从VB.net应用程序运行的目标位置。Robocopy不要复制文件存在于目标子文件夹

与参数当前脚本:

"C:\windows\SysWow64\robocopy.exe", TextBox1.Text & " " & TextBox2.Text & " /MT:50 /XC /XN /XO" 

它的工作相当不错,但它已经引起了我的注意,人们与应用工作想将文件移动到子目录在同一目录中,以可以跟踪他们的工作。

由于此脚本触发每分钟运行,我还有另一个将处理后的文件移回放置位置我想知道是否有一种方法可以搜索目标及其所有子目录具有相同名称的文件,所以我避免重复。

谢谢

多鲁

+0

不带内部开关,没有。你必须编写脚本。 – rojo 2015-02-11 13:45:06

+0

我想我设法做了一些xcopy,它有一个/ exclude:[filepath]。我添加了一个获取文件夹内容的脚本,然后将其放置在文本文件中。它被设置为10秒计时器。 xcopy设置为1分钟的计时器。我会及时向大家发布。如果你知道更好的方法,请告诉我:) – 2015-02-12 07:44:23

+0

Robocopy在速度上缺乏什么功能。与/ mt它会复制超快。我不知道如何解决这个问题。如果我可以使用它的话,速度会更快。我必须找到一种方法来为它提供一个排除文件列表 – 2015-02-12 15:58:40

回答

1

我设法使用robocopy的排除列表,如下所示:

  1. 我创建了一个批处理脚本,使用此语法导出的文件名中的一个txt文件:

    cd "**location of your files**" 
    
    (for /r %%a in (*.jpg) do @echo %%~nxa) > C:\temp\EXCLUDE.txt 
    

欲了解更多信息,请参阅:List files from folder includins subfolders batch

  • 使用此文件I创建了一个RCJ文件(ROBOCOPY /job:filename.rcj)

    :: Include These Files : 
    :: 
    /IF  :: Include Files matching these names 
    *.jpg :: Include all names (currently - Command Line may override) 
    :: Exclude These Files : 
    /XF  :: eXclude Files matching these names 
    
    **Names of files from the C:\temp\EXCLUDE.txt** 
    :: 
    /XO  :: eXclude Older files. 
    /XN  :: eXclude Newer files. 
    /XC  :: eXclude Changed files. 
    :: 
    /COPY:DAT :: what to COPY for files (default is /COPY:DAT). 
    :: 
    /R:10  :: number of Retries on failed copies: default 1 million. 
    /W:15  :: Wait time between retries: default is 30 seconds. 
    /MT:10 
    
  • 产生这个文件I使用它作为后如下:

    "C:\windows\SysWow64\robocopy.exe", TextBox1.Text & " " & TextBox2.Text & " /job:C:\temp\filename.rcj" 
    
  • 我已经建立了一批跑每30秒从文件夹获取文件名和创建RCJ文件。然后,robocopy作业每运行1分钟。

    非常感谢所有在这里的好人在stackoverflow!

    0

    Robocopy Syntax, Flags and Parameters

    请查看Microsoft以上链接。 Robocopy有许多标志可帮助您实现您正在寻找的结果。一些脑海中出现:

    • /X ...的排除选项文件选择
    • /MIR镜子和清除 选项

    另一站点上的一些例子:Robocopy Help

    +0

    不幸的是,我找不到可以在robocopy中做到的选项。我用xcopy替换了它,即使它的速度比我能说的慢,因为它有一个/ exclude:[filemane]选项,用于解析排除文件。 – 2015-02-12 07:47:38

    相关问题