윈도우즈 배치 파일에서 오늘 날짜, 시간을 가져오려면 %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

 

How to create a yesterday date in a batch

copy \\server01\E$\LogFiles\IVR\bcR\??120428.* \\LBC\workgroup\cs\ftp\Team\bcR\ copy \\server02\E$\LogFiles\IVR\bcR\??120428.* \\LBC\workgroup\cs\ftp\Team\bcR\ copy \\server03\E$\LogFiles\IVR\bcR\??

serverfault.com

microsoft - 표준 날짜 및 시간 서식 문자열

 

표준 날짜 및 시간 서식 문자열

표준 날짜 및 시간 서식 문자열을 사용하여 .NET에서 날짜 및 시간 값의 텍스트 표현을 정의하는 방법을 알아봅니다.

docs.microsoft.com

 

728x90

+ Recent posts