robocopy
command обеспечивает более интеллектуальное исключения функции (выключатели /XD
и /XF
), чем xcopy
делает , которые вы можете использовать для своей задачи:
robocopy "C:\WebService" "%InstallFolder%" "*.*" /XD "*.config" "Properties" "Obj" /XF "*Proxy.dll" /E /S /FP /NJH /NJS /NS /NC /NDL /NP /LOG+:"Setup.log"
Все коммутаторы, начиная с /N
, а также контроль /FP
переключателя внешний вид зарегистрированного выпуска, так что она вполне аналогична команде xcopy
.
Если вы настаиваете на /EXCLUDE
опции xcopy
: это не поддерживает дикие карты, как *
или ?
но буквальные (без учета регистра) только строк. Однако вы можете решить эту проблему в *Proxy.dll
заранее. Учитывая, у вас есть файл XcopyExclude.txt
следующего содержания ...:
.config\
\Properties\
\Obj\
... (при условии, что все эти элементы (частичные) имена каталогов), вы можете скопировать этот контент на временное файл и добавить разрешенную *Proxy.dll
части, до фактического копирования деятельности:
rem // Prepare exclusion list file:
copy /Y "XcopyExclude.txt" "XcopyExclude.tmp"
>> "XcopyExclude.tmp" (
for /R "C:\WebService" %%E in ("*Proxy.dll") do (
echo(\%%~nxE
)
)
rem // Perform copying action:
xcopy "C:\WebService" "%InstallFolder%" /E /S /K /R /H /Y /I /EXCLUDE:XcopyExclude.tmp >> "Setup.log"
rem // Clean up temporary list file:
del "XcopyExclude.tmp"
, предполагающий есть файл с именем AnyProxy.dll
в дереве каталогов источника, запись для файла, связанные XcopyExclude.tmp
будет \AnyProxy.dll
. Обратите внимание, что элемент, который называется AnyProxy.dll.any
, также будет исключен.
команда 'Robocopy', переключатель'/XF' (исключить файлы) –
Пожалуйста, отредактируйте ваш вопрос и поделитесь своими неудачными попытками удовлетворить [mcve]. – JosefZ