我有一个脚本可以将文件从放置位置复制到我从VB.net应用程序运行的目标上。
带参数的当前脚本:
"C:\windows\SysWow64\robocopy.exe", TextBox1.Text & " " & TextBox2.Text & " /MT:50 /XC /XN /XO"
它的工作做得很好但引起了我的注意,使用该应用程序的人希望将文件移动到同一目录中的子目录中,以便他们可以跟踪他们的工作内容。
由于此脚本被触发每分钟运行,我还有另一个脚本将处理过的文件移回放置位置我想知道robocopy是否可以搜索目标及其所有子目录对于具有相同名称的文件,我避免重复。
谢谢,
Doru
答案 0 :(得分:1)
我设法使用robocopy的排除列表,如下所示:
我创建了一个批处理脚本,使用以下语法在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
使用此文件我创建了一个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
生成此文件后,我按如下方式使用它:
"C:\windows\SysWow64\robocopy.exe", TextBox1.Text & " " & TextBox2.Text & " /job:C:\temp\filename.rcj"
我已将批处理设置为每30秒运行一次,以从文件夹中获取文件名并创建rcj文件。然后,每1分钟,机器人工作就会运行。
非常感谢stackoverflow的所有好人!
答案 1 :(得分:0)
Robocopy Syntax, Flags and Parameters
查看以上MicroSoft Link。 Robocopy有许多标志可帮助您实现所需的结果。一些想到的是:
另一个包含一些示例的网站:Robocopy Help