본문 바로가기

스크립트/Batch

날짜 관련 명령어

[1. 개요]

윈도우 서버에서 매 시간(혹은 매 분...) 단위로 어떤 작업을 진행하고 작업 로그 등을 현재 날짜에 해당하는 디렉터리에 저장하고, 그 다음날 해당 디렉터리에서 결과물을 백업, 삭제 또는 통계 자료 등을 취합해야하는 경우

배치 파일로 작업 스크립트를 작성하고 작업 스케줄러에 등록해놓는 경우가 많다.

 

이 경우 배치 파일에서는 현재 날짜(보통 다음날 00:30 정도?) 에 이전 날짜를 알 필요가 있으며,

해당 값을 변수에 저장해서 이후 활용한다.

 

이 글에서는 윈도우 서버에서 이전 날짜를 원하는 포맷팅으로 구하는 방법을 정리한다.

 

 

[2. date 명령어]

=> date /t 를 통해 현재 날짜를 YYYY-mm-dd 형태로 얻을 수 있다.

단, 이전 날짜 같은 날짜 조작은 변경이 불가능하다.

 

 

[3. PowerShell Get-Date 명령어]

batch 파일에서는 powershell (command) 로 powershell 명령어를 사용 할 수 있다.

=> powershell (Get-Date (Get-Date).addDays(-1) -UFormat "%Y%m%d")

위 명령어를 통해 batch 파일에서 이전 날짜를 원하는 포맷으로 얻을 수 있다.

 

[4. ref]

https://docs.microsoft.com/ko-kr/powershell/module/Microsoft.PowerShell.Utility/Get-Date?view=powershell-7.2&viewFallbackFrom=powershell-3.0 

https://windowstect.com/powershell-get-date-command-tutorial/