Подтвердить что ты не робот

Как использовать xcopy только для копирования файлов, если они новее?

У меня есть много веб-приложений в решении Visual Studio.

У всех есть одна команда post build:

xcopy "$(TargetDir)*.dll" "D:\Project\bin" /i /d /y

Было бы полезно избежать замены более старых файлов на старые (например, кто-то может случайно добавить ссылку на старую версию DLL).

Как использовать xcopy для замены старых файлов только новыми DLL файлами, сгенерированными Visual Studio?

4b9b3361

Ответ 1

Из ввода "help xcopy" в командной строке:

/D:m-d-y     Copies files changed on or after the specified date.
             If no date is given, copies only those files whose
             source time is newer than the destination time.

Итак, вы уже используете xcopy только для замены старых файлов новыми. Если этого не происходит, возможно, вам придется поменять местами переключатели /i и /d.

Ответ 2

Не тестировалось, но для этих видов задач я использую аналогичную команду script.

set DIR_DEST=D:\Project\bin
pushd "$(TargetDir)"

::
:: Move Files matching pattern and delete them
::
for %%g in (*.dll) do (xcopy "%%g" "%DIR_DEST%" /D /Y & del "%%g")

::
:: Move Files matching pattern
::
:: for %%g in (*.dll) do (xcopy "%%g" "%DIR_DEST%" /D /Y )

popd