본문 바로가기
Programming

dos명령 - %time% 변수 활용, bat, batch

by Chan_찬 2013. 7. 4.
728x90
반응형

dos명령 - %time% 변수 활용 

 

dos에서 특정 날짜와 시간으로 파일을 생성할 때 문제점 

- %time% 변수 값의 시간구분자가 일반적으로 ":(콜론)"이 사용되어 지므로 파일명으로 사용불가 

- ex) echo %time% -> 9:49:05 -> 파일명으로 사용불가 

 

bat 파일을 만들어 변수값 활용예 

----------------------------------------------------------- 

set tm=%time% 

set hh=%time:~0,2% 

set mm=%time:~3,2%

set ss=%time:~6,2% 

 

set hh1=%hh:~0,1% 

set hh2=%hh:~1,1% 

if "%hh1%" == " " set hh=0%hh2% 

 

echo original time = %tm% 

echo transformed time = %hh%%mm%%ss% 

-----------------------------------------------------------

 

 

 

 

 

 

 

## 날짜(date), 시간(time)

 

 

도스 명령어 중에 date 나 time 이라는 명령을 사용하면, 현재 날짜와 시간을 보거나 맞출 수 있습니다.

배치파일 안에서 현재 시각 등을 출력하려면 환경변수를 사용하는 것이 편리합니다. 다만, 윈도우2000이나 윈도우XP이상의 도스창에서만 되고, 16비트 MS-DOS나 윈도우98의 도스창에서는 안됩니다.

배치파일에서 현재 시간이나 현재 날짜를 화면에 출력하려면 DATE 와 TIME 이라는 기본 환경 변수를 사용하면 됩니다,

그 환경변수 속에 현재 날짜와 현재 시각이 실시간으로 항상 들어가 있습니다.

 

예를 들어

echo %date%

=> 금 2007-11-16



echo %time%

=> 14:18:03.95



echo %date% %time%

=> 금 2007-11-16 14:18:52.62

 

 

===[예제]==================================================

(1)

echo 원래의 날짜: %date%

echo 원래의 시각: %time%

 

(2) 날짜 문자열을 년월일로 분해

set YEAR=%date:~2,4%

set MONTH=%date:~7,2%

set DAY=%date:~10,2%

set WEEK=%date:~0,1%

 

echo 현재 년 : %YEAR%

echo 현재 월 : %MONTH%

echo 현재 일 : %DAY%

echo 현재 요일: %WEEK%요일

 

(3) 시간 문자열을 시분초로 분리

set HOUR=%time:~0,2%

set MINUTE=%time:~3,2%

set SECOND=%time:~6,2%

 

echo 현재 시 : %HOUR%

echo 현재 분 : %MINUTE%

echo 현재 초 : %SECOND%

 

echo.

echo.

echo (YYYY-MM-DD hh:mm:ss 형식으로 표시하기)

echo.

echo %YEAR%-%MONTH%-%DAY% %HOUR%:%MINUTE%:%SECOND%

echo.

echo (한국식 날짜 문자열로 표시)

echo.

echo %YEAR%년 %MONTH%월 %DAY%일 %HOUR%시 %MINUTE%분 %SECOND%초

echo.


728x90
728x90
BIG
Buy me a coffeeBuy me a coffee

댓글