윈도우즈 배치 파일에서 오늘 날짜, 시간을 가져오려면 %date%, %time% 환경 변수를 사용하면 된다.
>echo %date%
2021-10-06
>echo %time%
14:22:52.76
설치된 윈도우즈의 로케일에 따라 결과 문자열이 다를 수 있다.
Azure 에 설치된 윈도우즈 서버에서 실행했을 때 다음과 같은 결과가 나왔다.
>echo %date%
Tue 10/05/2021
원하는 형식의 문자열을 얻으려면 powershell 로 DateTime api 를 이용하면 된다.
>powershell -Command [DateTime]::Now.ToString(\"yyyyMMdd_hhmmss\")
20211006_022824
>for /f "delims=" %a in ('powershell -Command [DateTime]::Now.ToString(\"yyyyMMdd_hhmmss\"^)') do @echo DateTime is: %a
DateTime is: 20211006_022911
utc 시간이나 어제 날짜 같은 문자열을 만들 때도 편리하다.
>for /f "delims=" %a in ('powershell -Command [DateTime]::UtcNow.ToString(\"yyyyMMdd_hhmmss\"^)') do @echo utc DateTime is: %a
utc DateTime is: 20211006_053039
>for /f "delims=" %a in ('powershell -Command [DateTime]::Now.AddDays(-1^).ToString(\"yyyyMMdd_hhmmss\"^)') do @echo yesterday is: %a
yesterday is: 20211005_023148
참고 : https://serverfault.com/questions/384718/how-to-create-a-yesterday-date-in-a-batch
728x90