Windows

可以在 robocopy 命令中同時使用多個排除開關嗎?

  • March 20, 2020

對於 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>當連接不穩定並且必須重新啟動文件的複製過程(用於配置)時,它將節省大量頻寬。

引用自:https://serverfault.com/questions/1006872