%DATE%
환경 변수는 현재 날짜를 보유합니다. 연도를 얻으려면 %DATE:~6,4%
으로 날짜를 파싱하고 싶을 수 있습니다.
그러나이 방법은 그다지 견고하지 못합니다. %DATE%
은 "간단한 날짜 형식"에 대한 창 설정을 사용하여 현재 날짜를 반환합니다. 문제는 짧은 날짜 형식 설정이 완벽하고 끝없이 사용자 지정할 수 있다는 것입니다. 한 명의 사용자가 짧은 날짜를 29/06/2012
으로 표시하도록 시스템을 구성 할 수 있습니다. 다른 사용자 (동일한 시스템에서도)는 Fri062912
을 선택할 수 있습니다. BAT 프로그래머에게는 완전히 악몽입니다.
가능한 해결책은 WMIC 대신 사용하는 것입니다. WMIC는 WMI에 대한 WMI 명령 줄 인터페이스입니다. WMI Windows 관리 계측은 http://en.wikipedia.org/wiki/Windows_Management_Instrumentation
WMIC Path Win32_LocalTime Get Day,Hour,Minute,Month,Second,Year /Format:table
직접 FOR 그것을 구문 분석 할 수있는 편리한 방법으로 날짜를 반환합니다.
구문 분석을 완료하고 함께 위의 코드를 포함하는 BAT 파일을 가리킬 수 있습니다
FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
SET /A MONTH=%%D
SET /A YEAR=%%F
)
바로 가기를 조각을 넣어 다음 오른쪽 폴더 탐색기를 엽니 다.
start "" "D:\FOLDER\%YEAR%\%MONTH%"
몇 가지 아이디어를 보려면 http://stackoverflow.com/questions/864718/how-to-append-a-date-in-batch-files를 참조하십시오. –