![在哪里可以找到使用 robocopy 的可立即使用的 Windows 脚本?](https://linux22.com/image/489439/%E5%9C%A8%E5%93%AA%E9%87%8C%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0%E4%BD%BF%E7%94%A8%20robocopy%20%E7%9A%84%E5%8F%AF%E7%AB%8B%E5%8D%B3%E4%BD%BF%E7%94%A8%E7%9A%84%20Windows%20%E8%84%9A%E6%9C%AC%EF%BC%9F.png)
我们正在安装 Windows 资源工具包,并安装 RoboCopy。我们希望能够访问一些使用 RoboCopy 的 Windows 脚本,以便我们可以从这些脚本开始构建其他内容。关于在哪里可以找到一些示例,您有什么想法吗?
注 1:
一点信息。每次我们尝试将 D 盘复制到 E 盘(新盘)时,都会收到一条错误消息,内容如下:
错误 32 (0x000000020) 复制文件 d:\pagefile.sys 该进程无法访问该文件,因为它正在被另一个进程使用。等待 30 秒。
只是为了帮忙弄清楚。
答案1
我使用 Robocopy 在 9 个 Web 服务器上同步网站内容。以下是运行 robocopy.exe 的批处理文件示例。此批处理文件计划每 5 分钟或 10 分钟运行一次,也可以手动运行以立即推送更改。
robocopy.exe d:\inetpub\wwwroot\ \\webserver1\d$\inetpub\wwwroot\ *.* /E /PURGE /SEC /NP /NJH /NJS /XF keepalive_*.* /XD trigger /XD "D:\inetpub\wwwroot\Long Path Name" /R:5 /COPYALL /LOG:copy_to_webserver1.log
上述命令将复制 d:\inetpub\wwwroot 的内容并将其推送到远程服务器的 d:\inetpub\wwwroot。
/E = 复制所有子目录,包括空子目录
/PURGE = 删除源中不再存在的目标文件/文件夹
/SEC = 将文件的安全权限 (ACL) 复制到目标位置
/NP = 关闭复制进度条;如果您要记录结果,请务必执行此操作
/NJH = 不记录作业标题
/NJS = 不记录作业摘要
/XF = 排除复制特定文件(例如 keepalive_。)
/XD = 排除复制特定文件夹(例如触发器)
/R = 指定复制失败时重试的次数(例如 5)
/COPYALL = 复制所有内容:数据、属性、时间戳、安全性、所有权和审计信息;由于我指定了 /SEC
/LOG = 将结果记录到指定的日志文件(例如 copy_to_webserver1.log),所以这确实有点过度了
我希望这能让您开始使用 Robocopy。我发现它是一种非常可靠且非常强大的解决方案,可以保持我们的内容同步。
答案2
我没有任何脚本,但内置文档确实很容易理解并且非常有用。
robocopy /? | more
答案3
它真的很简单,大多数人都是从头开始自己做。我从未见过任何“代码示例”,因为它基本上只是一个从哪里到哪里的问题,并附带一些参数……但看看那里不同的 robocopy GUI(只需谷歌一下),它们中的大多数都会向您显示生成的命令。
答案4
从小处着手,只将一个文件夹从点 a 复制到点 b。确保包含 /L 开关和 /LOG 开关。/L 开关仅列出它将要复制的文件,而 /Log 将创建一个日志,以便您可以验证要复制的内容。从那里开始,您只需增加复杂性。以下是示例脚本:
robocopy “C:\test_source” “\server01\C$\test_destination” /L /V /E /LOG:“c:\test_robocopy.log” /R:10 /W:30