오늘을 기준으로 -n일의 날짜를 구함
(before값만큼의 날짜를 구함)
@echo off
for /f "tokens=1-3 delims=- " %%A in ('echo %DATE%') do (set YY=%%A&SET MM=%%B&SET DD=%%C)
set before=25
if not "%1"=="" set before=%1
if not "%2"=="" set YY=%2
if not "%3"=="" set MM=%3
if not "%4"=="" set DD=%4
set /a DD=1%DD%-(100+%before%)
set /a MM=1%MM%-100
:: DD-befoer > 0, YY년 MM월 DD-before일
if %DD% GTR 0 (
goto getBeforeday_end
) else (
set /a MM=%MM%-1
)
:: MM-1 > 0
if %MM% GTR 0 (
goto leap
) else (
set /a MM=12-%MM%
set /a YY=%YY%-1
goto leap
)
:leap
set /a TT=%YY%/4
set /a TT=%TT%*4
if %YY% neq %TT% goto mon%MM%
if %MM% neq 2 goto mon%MM%
set /a DD=29
goto getBeforeday_end
:mon1
:mon3
:mon5
:mon7
:mon8
:mon10
:mon12
set /a DD=31+%DD%
goto getBeforeday_end
:mon2
set /a DD=28+%DD%
goto getBeforeday_end
:mon4
:mon6
:mon9
:mon11
set /a DD=30+%DD%
goto getBeforeday_end
:getBeforeday_end
set /a DD=%DD% + 100
set DD=%DD:~1,2%
set /a MM=%MM% + 100
set MM=%MM:~1,2%
set beforeday=%YY%-%MM%-%DD%
@echo %beforeday%
- 구글검색해서 나온 스크립트 중 하나를 보안함.
'Language > OS Script' 카테고리의 다른 글
[bat] 오래된 파일 삭제 (0) | 2021.04.02 |
---|---|
[bat] 디스크 용량 로그 출력 (0) | 2021.04.02 |