Windows batch 파일로 날짜별 백업파일 만들기
Posted 2014. 12. 16. 10:07Windows batch 파일로 스크립트를 만들면서 날짜별 백업파일을(filename.ext.yyyymmdd_hhmi) 만들어서 사용하는데, 간단하지만 변수가 몇가지 발생합니다.
즉 OS에서 설정한 날짜포맷을 먼저 확인해야 오류가 발생하지 않게 됩니다.
보통 일반적인 PC의 windows 환경에서는 다음과 같이 날짜 및 시간이 표시됩니다.
opyright (c) 2009 Microsoft Corporation. All rights reserved.
:\Users\Guest>date
현재 날짜: 2014-12-16
C:\Users\Guest>time
현재 시간: 9:25:59.93
이경우 yyyymmdd_hhmi 형식의 date_time 날짜는 다음과 같은 과정으로 생성하였습니다.
1. 날짜, 시간에서 구분자 ("-", ":")를 제거합니다.
2. 시간은 초단위까지만 사용하기 위해 "." 이전까지만 구합니다.
3. 날짜 + 시간 문자열로 만들고 원본파일에 백업구분 문자열을 붙여서 move를 합니다.
set time2=%time: =0%
set time2=%time2::=%
set time3=%time2:~0,6%
set date_time=%date2%_%time3%
set ROOT=d:\backup
set BACKUP_PATH=%ROOT%\%org_name%.%date_time%
그런데 Default 한글 OS가 아니거나 날짜, 시간형식을 변경한 Windows에서는 문자열을 substring할때 주의해야 합니다.
The current date is: Tue 12/16/2014
C:\>date
The current date is: 12/15/2014 Mon
날짜형식이 위와같이 나오는 경우 치환문자열은 "-" 대신 "/" 를 사용해야 하고, 공백문자열만 제거하거나 요일과 공백을 모두 제거한 후 사용하도록 한다.
'개발노트' 카테고리의 다른 글
java application windows service로 등록하기(nssm) (0) | 2014.12.26 |
---|---|
sc.exe Windows service 등록시 주의할점 (0) | 2014.12.26 |
Can not change version of project facet Dynamic Web Module to 2.x (0) | 2014.11.28 |
imgscalr를 이용하여 image crop & resize 하기 (0) | 2014.11.26 |
JAVA Unsupported major.minor version 51.0 in Tomcat7 as service (0) | 2014.09.21 |
- Filed under : 개발노트