Робокопия заменила перемещение файла с той же датой
Если данные исходного файла (новые или одинаковые) перемещаются / перезаписываются, иначе файл пропускается
Чтобы завершить это, используйте Robocopy с примером пакетного скрипта, который я предоставил ниже, синтаксис и все.
Я хочу просто исключить старшее, а не ту же дату. Я хочу, чтобы убедиться, что переместить (и перезаписать, чтобы источник стал чистым) данные с новыми или такими же данными, как источник.
Проблема в том, что я также хочу переместить те же данные даты, а не только новые.
Поскольку по умолчанию Robocopy будет копировать файл только в том случае, если у источника и места назначения есть разные отметки времени или файлы разных размеров, вы должны использовать для этого параметр /IS
чтобы тоже копировать те же данные, а затем, если вы используете /MOVE
Переключатель, он также удалит эти файлы и папки из источника.
Используемые варианты Robocopy
(Я использовал эти переключатели в частности, но вы должны проверить, чтобы подтвердить все работы, как и ожидалось, на всякий случай.)
/S : Copy Subfolders, but not empty ones.
/NP : No Progress - don’t display % copied. (for cleaner log file)
/R:n : Number of Retries on failed copies - default is 1 million.
/MOVE : Move files and dirs (delete from source after copying).
/IS : Include Same, overwrite files even if they are already the same.
/TS : Include Source file Time Stamps in the output. (for log file)
/FP : Include Full Pathname of files in the output. (for log file)
/LOG+:file : Output status to LOG file (append to existing log).
Для следующих переменных:
SET SRCRoot="\\Server\Share\Source"
SET DESTRoot="\\Server\Share\Destination"
SET SRCRoot
и SET DESTRoot
- это каталоги root\parent, которые вы будете рекурсивно копировать на самый верхний уровень и обратно. Вы можете установить любой из них в качестве пути к букве диска (например, C:\Path
) или оставить его как UNC-путь (например, \\server\share\folder
), и он будет работать в любом случае.
SET LOG
- это ваше добавленное имя и местоположение файла журнала. Он также может указывать на полный путь диска или путь UNC. Это файл, который вы можете просмотреть, чтобы получить всю информацию о том, что скопировано, что не было, сообщения об ошибках и т.д. Это строго необязательно, но я рекомендую использовать его всегда и проверять по мере необходимости для устранения неполадок или подтверждения.
Пример Robocopy Batch Script
Если вам также необходимо скопировать защиту файлового уровня файлов и папок, которые вы копируете в источник из места назначения (ACL), пожалуйста, дайте мне знать, так как вы, вероятно, захотите включить swithces /SEC
или /COPYALL
COPYALL.
@ECHO ON
SET SRCRoot="\\Server\Share\Source"
SET DESTRoot="\\Server\Share\Destination"
SET LOG=C:Path\Log.txt
:: --// Robocopy Options
:::: --// If you do not want a log file, remove the "/LOG+:%LOG%" below
SET OPT=/MOVE /IS /S /NP /R:5 /LOG+:%Log% /TS /FP
SET CMD=Robocopy "%SRCRoot%" "%DESTRoot%" *.* %OPT%
%CMD%
EXIT /B
Дополнительные переключатели Robocoy
(Если вам нужно что-то из этого, дайте мне знать, и я буду рад обновить мой ответ, если вам нужен пример, включающий любой)
/E : Copy Subfolders, including Empty Subfolders.
/SEC : Copy files with SECurity (equivalent to /COPY:DATS).
/DCOPY:T : Copy Directory Timestamps.
/COPYALL : Copy ALL file info (equivalent to /COPY:DATSOU)
Планирование автоматической автоматизации
Обратитесь к моему ответу Запланированные задачи для опций, ошибок и т.д., Которые вы хотите выбрать при планировании запуска пакетного сценария с помощью планировщика задач, как ожидалось. Предоставляются снимки экрана и все, и вы можете высказать свой ответ, если посчитаете его полезным и достойным как таковой - без какого-либо давления только дополнительный ресурс, который вы можете счесть полезным.
Дополнительные ресурсы и чтение