Для команды 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
Это отлично работает, когда есть большая пропускная способность ... Удаление и повторное копирование из источника всех репозиториев. Проблема в том, что у некоторых целевых виртуальных машин есть проблемы с пропускной способностью сети. Это экспериментальные системы, которые я все еще отлаживаю (хост Ubuntu с использованием Kernel-VM / Win10 гостя), и, очевидно, мой google-fu недостаточно хорош, чтобы найти решение.
Да, несколько переключателей исключения можно использовать в robocopy
из Windows 8.1 (НЕ в Windows Server 2012!). Это включает XD, XF и XO. Просто напишите их в том порядке, в котором вы хотите, чтобы они использовались.
Если у вас недостаточно пропускной способности, я бы рекомендовал использовать /Z
как дополнительный параметр; это сэкономит много пропускной способности, когда соединение нестабильно и процесс копирования файла должен быть перезапущен (используйте /R:<NUM>
чтобы настроить это).