我有一个目录,我想使用Robocopy.exe将其复制到另一个目录。
我的计划是从源目录的根目录中排除一些文件。实际上,我只想从目录的ROOT中排除.html文件。
诀窍是我目前正在使用/ E,目前正在处理所有子文件夹。
因此,我的操作的当前结果是,如果我使用:
/E /XF "*.html"
我将在网站范围内排除所有HTML文件。
有没有办法可以继续复制所有子文件夹,还可以使用XF从根目录中排除.html文件?
类似的东西:
/E /XF "c:\releases\website_source\*.html"
答案 0 :(得分:4)
我的解决方案不雅但很容易理解。 我只想用两行批处理文件执行任务。 Robocopy根文件夹(但不是子目录) - 包括.html文件。 然后下一行Robocopy包括所有潜艇(不包括* .html)
答案 1 :(得分:3)
好的,所以没有真正的理由,我必须找到一种方法来回答这个问题。
我只能使用PowerShell找到一个“体面”的方式,它仍然很混乱。
首先,编辑以下powershell以满足您的需求:
$files = Get-ChildItem c:\releases\website_source -Filter {*.html}
"/XF" > c:\temp\exclude.rcj
foreach ($f in $files) {$f.FullName >> c:\temp\exclude.rcj}
这会在robocopy“job”文件中的/ XF命令之后创建一个文件列表。
然后正常调用robocopy命令,但在其末尾添加/job:c:\temp\exclude.rcj
。这基本上会使每个根HTML文件的复杂/ XF更容易在脚本中写入。
请注意,您可以使用批处理文件执行上述操作,但我最好使用PowerShell然后批处理循环等。
是的,我知道这是一个有点过时的问题,但我需要做点什么。