2012-06-24 9 views
2

로그 파일과 스크린 샷을 정기적으로 폴더에 쓰고 사이에
30-50 개의 파일을 만드는 프로세스가 있습니다. 폴더 구조는 ..\Year\Month\filename.ext이며 변경할 수 없습니다.월간 Windows 환경 변수

단축키를 만들어 내 즐겨 찾기에 저장하면 빨리이 폴더로 이동할 수 있지만 YEARMONTH에 대한 변수가 필요합니다. 이 환경 변수가 있습니까?

스크립트 나 예약 된 작업없이 자동으로 업데이트되는 것을 만드는 방법에 대한 아이디어가 있으십니까?

+0

몇 가지 아이디어를 보려면 http://stackoverflow.com/questions/864718/how-to-append-a-date-in-batch-files를 참조하십시오. –

답변

6

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