Windows cmd копирует каталоги и содержимое рекурсивно, если файлы не существуют
Моя идея была бы использовать xcopy
К сожалению, XCOPY
действительно не очень хорошо делает это по умолчанию, если копирует ТОЛЬКО то, чего не существует в месте назначения из источника. Кроме того, XCOPY
устарела для Microsoft, и вместо нее рекомендуется использовать команду Robocopy
, и это особенно целесообразно делать, если вы создаете новый процесс.
Поэтому, хотя ваша идея использовать XCOPY
, я надеюсь, что вы захотите использовать Robocopy для особых нужд, поскольку это инструмент командной строки Windows, предназначенный для замены XCOPY
.
Пример скрипта Robocopy
(Посмотрите варианты, чтобы убедиться, что все установлено для ваших нужд)
(Сохраните приведенную ниже логику в текстовом файле и переименуйте в <something>.cmd
и дважды щелкните, чтобы запустить при необходимости)
SET SRC="C:\path\source"
SET DEST="C:\path\destination"
SET FName=*.*
SET LOG=C:\Path\Log.txt
:: If you do not want a log file, remove the "/LOG+:%LOG%" below
SET OPT=/PURGE /S /NP /R:5 /LOG+:%Log% /TS /FP
SET CMD=robocopy %SRC% %FName% %DEST% %OPT%
%CMD%
Пример командной строки Robocopy Copy and Paste
(Посмотрите варианты, чтобы убедиться, что все установлено для ваших нужд)
:: If you do not want a log file, remove the "/LOG+:C:\Path\Log.txt" below
robocopy "C:\path\source" *.* "C:\path\destination" /PURGE /S /NP /R:5 /LOG+:C:\Path\Log.txt /TS /FP
Дополнительные ресурсы и чтение