Моя цель - иметь .bat, который я могу использовать для автоматического архивирования папок с помощью копирования, переименования исходной папки и файлов в пределах текущей даты, а затем очистки старых производственных файлов.
- Копирование целевых папок в каталог «Завершено»
- Обновление даты в исходных папках в формате
Previous Name_Today's Date
(MMDDYY) - Обновите дату файлов INDD в исходной папке, используя формат
Current Name_Today's Date
(MMDDYY) - «Очистить» исходную папку, удалив все файлы .VPS и .PDFs в пределахисходная папка
Я новичок, но я собрал этот код из исследований и источников:
@echo off
setlocal enabledelayedexpansion
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x
set today=%MyDate:~0,4%-%MyDate:~4,2%-%MyDate:~6,2%
xcopy /s /e /q /y "G:\...\Annual_*" "G:\...\_DONE\"
xcopy /s /e /q /y "G:\...\Life_*" "G:\...\_DONE\"
MOVE "G:\...\Annual_*" "G:\...\Annual_today"
MOVE "G:\...\Life_today" "G:\...\Life_today"
FOR /M *.indd /C "cmd /c rename @file \"@fname - today.indd\""
del /s "G:\...\Annual_today" *.pdf
del /s "G:\...\Annual_today" *.vps
del /s "G:\...\Life_today" *.pdf
del /s "G:\...\Life_today" *.vps
"G:\...\New_Job.bat" > output.txt
Моя конечная цель - изменить путь к каталогу дляисходные и архивные папки, чтобы я мог повторно использовать этот сценарий для файлов различных клиентов.
Текущие проблемы
В нынешнем виде сценарий не копирует и не создает файлы архивных папок и просто,удаляет все файлы VPS и PDF из всех каталогов, а не только из целевой папки.
Я не уверен, правильно ли я выполняю проверку даты, чтобы затем использовать ее в качестве переменной для переименования будущих папок и файлов.
Я не знаю, правильно ли FOR /M *.indd /C "cmd /c rename @file \"@fname - today.indd\""
переименовывать файлы.Имена - это номер заказа (6 цифр), затем название, подчеркивание и затем дата.
123456_Life_Kit_020819.
Помощь будет принята с благодарностью!