DOS 명령줄 이전 달 이름의 폴더로 파일 이동

DOS 명령줄 이전 달 이름의 폴더로 파일 이동

이전 달의 PDF 파일 날짜를 기준으로 일부 PDF 파일을 다른 폴더로 자동으로 이동하는 작업 스케줄러에서 작업을 생성하려고 합니다. 내가 겪고 있는 문제는 명령줄을 이전 달로 롤백하는 방법을 알 수 없다는 것입니다. 처음부터 동일한 것을 사용하여 폴더를 생성하고 있지만 작업은 지난달로 간주되는 말에 실행되도록 설정되어 있습니다. 예를 들어 현재 달 2010-10에 대한 폴더를 생성하기 위해 10월에 실행되는 하나의 작업과 PDF가 컴파일된 후 11월에 다른 작업을 실행하여 2010-10 폴더로 이동합니다. 어떤 아이디어가 있나요?

내가 사용하고 있는 날짜 매개변수는 "%DATE:~0,2%"입니다. "%DATE:~0,2% -1" 및 "%DATE:~0,2%-1"을 시도했고 전체 텍스트는 배치 파일은 "move [-Y] *.pdf P:\CBO\Physician Monthly Reports\%DATE:~6,4%-%DATE:~0,2% -1"입니다.

답변1

문자를 선택하려면 날짜 형식이 "MM-DD-YYYY"와 같아야 합니다. 이 명령은 이번 달의 숫자를 검색하여 1을 뺀 값을 이라는 변수에 저장합니다 prevmonth. 또한 이전 달이 12월인 경우 연도에서 1을 뺍니다.

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%"

디렉터리 이름에 공백이 있으므로 따옴표에 유의하세요.

답변2

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

관련 정보