1

Я пытаюсь создать задачу в планировщике задач, которая будет автоматически перемещать некоторые PDF-файлы в другую папку, основанную на дате в PDF-файлах за предыдущий месяц. Проблема в том, что я не могу понять, как заставить командную строку откатиться на предыдущий месяц. Я использую то же самое для создания папки для начала, но задание запускается в конце того, что будет считаться в предыдущем месяце. Например, одна задача, запущенная в октябре для создания папки на текущий месяц 2010-10, и другая, выполненная в ноябре после компиляции PDF-файлов, которая переместит их в папку 2010-10. Есть идеи?

Параметры даты, которые я использую:«% DATE:~ 0,2%», я пробовал «% DATE:~ 0,2% -1» и «% DATE:~ 0,2% -1» и полный текст в пакетный файл:«Переместить [-Y] * .pdf P:\CBO\ Ежемесячные отчеты врача \% ДАТА:~ 6,4% -% ДАТА:~ 0,2% -1»

2 ответа2

1

Ваш выбор персонажа требует, чтобы ваш формат даты выглядел как «ММ-ДД-ГГГГ». Эта команда получает номер текущего месяца, вычитает один и сохраняет его в переменной с именем prevmonth . Он также вычитает один из года, если предыдущий месяц декабрь:

set /a prevmonth=%DATE:~0,2% - 1
set yearprevmo=%DATE:~6,4%
if %prevmonth% equ 0 set /a yearprevmo=%yearprevmo%-1 & set prevmonth=12
move -Y *.pdf "P:\CBO\Physician Monthly Reports\%yearprevmo%-%prevmonth%"

Обратите внимание на кавычки, поскольку в имени каталога есть пробелы.

1
C:\>move /Y \\your Network server\PROD\PM\FileArchive\2011*.txt \\your Network server\PROD\PM\FileArchive\Documents

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .