对于 windows robocopy 命令:我可以同时使用 /XD "DirectoryName" 和 /XO (对于比那些已经在 dest 中的文件更旧的文件。)
例子:
robocopy /E "K:\clientPack" "C:\clientPack" /XO /XD "K:\clientPack\ClientAndPurleyDriverInjection"
情况:我有一个文件存储库,用于在被测系统 (SUT) 上的后期映像任务中,我目前使用下面的过程将其复制到 SUT,以便在实际测试期间使它们在本地可用,无需需要网络:
@echo off
if exist C:\clientPack\NUL echo "Folder exists, erasing..."
del /s /f /q c:\clientPack\*.*
for /f %%f in ('dir /ad /b c:\clientPack\') do rd /s /q c:\clientPack\%%f
echo checking for clientPack folder
if not exist C:\clientPack\NUL mkdir C:\clientPack && echo "Folder Created!"
echo clientPack folder created/detected
echo copying clientPack with drivers
xcopy "K:\clientPack" "C:\clientPack" /e
echo Files copied:
dir C:\clientPack\*.* /b
当有足够的带宽时,这可以正常工作......从源中删除并重新复制所有存储库。问题是,一些 VM 目标存在网络带宽问题。这些是我仍在调试的实验系统(使用 Kernel-VM / Win10 客户机的 Ubuntu 主机),显然我的 google-fu 不足以找到解决方案。
是的,可以
robocopy
从 Windows 8.1 开始使用多个排除开关(不能在 Windows Server 2012 中使用!)。这包括 XD、XF 和 XO。只需按照您希望如何使用它们的确切顺序编写它们。如果您没有“大量带宽”,我建议您将
/Z
其用作附加参数;/R:<NUM>
当连接不稳定并且必须重新启动文件的复制过程(用于配置)时,它将节省大量带宽。