본문 바로가기
  • A space that records me :)
Language/OS Script

[bat] 날짜 계산 (오늘 기준 -n일)

by yjkim_97 2021. 4. 2.

cal_date.bat
0.00MB

 

오늘을 기준으로 -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