명령 프롬프트 창에서 날짜 시간 취득 커맨드를 실행하여 DOS 배치 프로그램에서 사용할 수 있도록 환경변수에 추가하는 방법을 소개합니다.
날짜/시간 출력 예시
[명령 프롬프트] 창에서 date /t 또는 time/t 커맨드를 실행한 결과는 다음과 같습니다.
C:\>date /t
2022/04/26
C:\>time /t
15:38
YYYYMMDDHH24MI 형식 출력 예시
C:\>@echo off
for /f "usebackq tokens=1-3 delims=/- " %A in (`date /t`) do (
set YYYYMMDDHH24MI=%A%B%C
)
for /f "usebackq tokens=1-2 delims=: " %X in (`time /t`) do (
set YYYYMMDDHH24MI=%YYYYMMDDHH24MI%%X%Y
)
echo %YYYYMMDDHH24MI%
위 명령의 설명은 다음과 같습니다.
for /f “usebackq tokens=1-3 delims=/- “ %A in (`date /t`) 에서 date /t의 실행 결과인 2022/04/26 값이 슬래시(/) 또는하이픈(-) 또는 공백( ) 구분자로 분리 되어 %A에는 2022, %B는 04, %C는 26이 설정됩니다.
- delims=/- 와 “사이에는 공백이 하나 있습니다.
- %A는 변수의 시작을 의미합니다. tokens=1-3은 첫번째부터 세번째까지 토큰을 사용한다는 의미이며 시작 %A 부터 %B, %C까지 변수가 사용됩니다.
for /f “usebackq tokens=1-2 delims=: “ %X in (`time /t`) 에서 time /t의 실행 결과인 15:38 값이 콜론(:) 또는 공백( ) 구분자로 분리되어 %X에는 15, %Y는 38이 설정됩니다.
- delims=: 와 “사이에는 공백이 하나 있습니다.
- %X는 변수의 시작을 의미합니다. tokens=1-2는 첫번째부터 두번째까지 토큰을 사용한다는 의미이며 시작 %X부터 %Y까지 변수가 사용됩니다.
YYYYMMDDHH24MI=%A%B%C 로 편집한 날짜를 설정하고 set YYYYMMDDHH24MI=%YYYYMMDDHH24MI%%X%Y 로 날짜 뒤에 편집한 시간을 추가했습니다.
환경변수 %YYYYMMDDHH24MI%를 echo 명령으로 출력한 결과는 다음과 같습니다.
202204261538
배치 파일로 실행하기
다음 내용을 getdatetime.bat라는 파일 명으로 저장합니다.
@echo off
for /f "usebackq tokens=1-3 delims=/- " %%A in (`date /t`) do (
set YYYYMMDDHH24MI=%%A%%B%%C
)
for /f "usebackq tokens=1-2 delims=: " %%X in (`time /t`) do (
set YYYYMMDDHH24MI=%YYYYMMDDHH24MI%%%X%%Y
)
echo %YYYYMMDDHH24MI%
주의) 변수명 %A는 명령 창에서 실행할 때와 달리 배치 파일로 작성할 때는 %%A로 작성합니다.
getdatetime.bat를 [명령 프롬프트] 창에서 실행하면 다음과 같습니다.
C:\>getdatetime.bat
202204261538