기 타 압축백업에서 7일안에 해당되는 자료를 백업하려고 하는데
2022.08.03 18:39
Rar압축백업에서 7일안에 해당되는 자료를 백업하려고 하는데
이상하게 아래와 같이 하면 rarDate가
9일 이상일때는 백업이 잘 되었는데
9일 이하일때는 잘안되네요
오늘 다시 보니
오늘날짜를 기준으로
7일 전이면 2022.7.27인데
20211224
가 나오네요 뭐가 잘못된거죠..
그리고 파일명이 a-2022-07-29.rar이 8월부터
갑자기 a-2022년.rar으로 나오고 정말 헷갈리네요..
@echo off
title 타이틀
::echo %date%
set yyyy=%date:~0,4%
::echo %yyyy%
set mm=%date:~5,2%
::echo %mm%
set dd=%date:~8,2%
::echo %dd%
if %dd%==08 (
set dd=8 ) else (
if %dd%==09 (
set dd=9 ) )
if %mm%==08 (
set mm=8 ) else (
if %mm%==09 (
set mm=9 ) )
set /A dd=%dd% - 7
set /A mm=%mm% + 0
if /I %dd% GTR 0 goto DONE
set /A mm=%mm% - 1
if /I %mm% GTR 0 goto ADJUSTDAY
set /A mm=12
set /A yyyy=%yyyy% - 1
:ADJUSTDAY
if %mm%==1 goto SET31
if %mm%==2 goto LEAPCHK
if %mm%==3 goto SET31
if %mm%==4 goto SET30
if %mm%==5 goto SET31
if %mm%==6 goto SET30
if %mm%==7 goto SET31
if %mm%==8 goto SET31
if %mm%==9 goto SET30
if %mm%==10 goto SET31
if %mm%==11 goto SET30
if %mm%==12 goto SET31
goto ERROR
:SET31
set /A dd=31 + %dd%
goto DONE
:SET30
set /A dd=30 + %dd%
goto DONE
:LEAPCHK
set /A tt=%yyyy% %% 4
if not %tt%==0 goto SET28
set /A tt=%yyyy% %% 100
if not %tt%==0 goto SET29
set /A tt=%yyyy% %% 400
if %tt%==0 goto SET29
:SET28
set /A dd=28 + %dd%
goto DONE
:SET29
set /A dd=29 + %dd%
:DONE
if /i %dd% LSS 10 set dd=0%dd%
if /I %mm% LSS 10 set mm=0%mm%
set rarDate=%yyyy%%mm%%dd%
echo %rarDate%
댓글 [7]
-
메리아 2022.08.03 20:15 -
열심히하자 2022.08.04 06:13
답변 감사드립니다.^^
-
메리아 2022.08.03 20:35 -
-
열심히하자 2022.08.04 06:14
답변 감사드립니다.^^
아래는 로보카피로 작업하는거 해결보았고 지금은
배치자체가 왜 정확한 날짜가 안나오는지 궁금한것입니다.
다시 보내주신대로 작업해 보겠습니다.
-
지후빠 2022.08.03 23:40
게시물이 새로 올라왔네요. 아래 댓글 단 것 여기에도 올려봅니다.^^
if 문에서 /i 옵션은 문자를 비교할 때 사용합니다. 숫자 비교이므로 빼셔야 할 것 같습니다.
본문은 참고하여 제 스타일로 수정해봤습니다. ^^ date-7_test.cmd
- 윤달 참고; https://blog.naver.com/hanlaonline/222004576341
@echo off & title 타이틀 & setlocal enabledelayedexpansion
set "yyyy=%date:~0,4%"
if %date:~5,1%==0 (set mm=%date:~6,1%) else (set mm=%date:~5,2%)
if %date:~8,1%==0 (set dd=%date:~9,1%) else (set dd=%date:~8,2%)
set /a dd-=7
if %dd% gtr 0 (goto DONE) else set /a mm-=1
if %mm% equ 0 (set /a mm=12 & set /a yyyy-=1)
if %mm% equ 2 (set /a dd+=28
set /a _y=yyyy%%4 & if !_y!==0 set /a dd+=1
set /a _y=yyyy%%100 & if !_y!==0 set /a dd-=1
set /a _y=yyyy%%400 & if !_y!==0 set /a dd+=1
) else (set "m31= 1 3 5 7 8 10 12 "
if not "!m31: %mm% =!"=="!m31!" (set /a dd+=31) else (set /a dd+=30)
)
:DONE
set "mm=0%mm%" & set "dd=0%dd%" & set rarDate=%yyyy%!mm:~-2!!dd:~-2!
echo %rarDate%
endlocal & pause & exit/b
-
열심히하자 2022.08.04 06:14
답변 감사드립니다.^^
아래는 로보카피로 작업하는거 해결보았고 지금은
배치자체가 왜 정확한 날짜가 안나오는지 궁금한것입니다.
다시 보내주신대로 작업해 보겠습니다.
-
지후빠 2022.08.04 10:00
보통은 그냥 처리 될 것 같은데 설정에 따라서 오류가 나는 모양이네요.
if %dd%==08 (
set dd=8 ) else (
if %dd%==09 (
set dd=9 ) )
부분에서 set dd=8 , set dd=9 다음에 공백없이 괄호 닫기를 해야합니다.
set dd=8) set dd=9) 아니면 /a 옵션을 붙여서 set /a dd=8 ), set /a dd=9 ) 아니면 set "dd=8" ) set "dd=9" )
if %mm%==08 (
set mm=8 ) else (
if %mm%==09 (
set mm=9 ) )
부분도 마찮가지 입니다.
set /A dd=%dd% - 7 에서 %dd% 값에 문제가 있습니다. 08,09 일 일때만 8,9로 바꿔지고 3일 일때는 그대로 03으로 넘어 옵니다. 숫자 연산시 0으로 시작해서 연산 오류가 나고 dd 에 -7만 담기는 것 같습니다.
if /I %dd% GTR 0 goto DONE 에서 %dd%가 -7 이니 다음줄로 넘어가고
set /A mm=%mm% - 1 에서 %mm% 가 비어 있어서 mm 이 -1 이 되고
if /I %mm% GTR 0 goto ADJUSTDAY 에서 if가 false 라서 다음 줄로 넘어가고
set /A mm=12, set /A yyyy=%yyyy% - 1 가 적용되는 것 같습니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
94275 | 하드웨어| 스크롤캡춰 사용하시는분?? [6] | 한스 | 560 | 08-03 |
94274 | 윈 도 우| 윈도우11에서의 프린터 자가증식??? [6] | 뽀로로 | 679 | 08-03 |
» | 기 타| 압축백업에서 7일안에 해당되는 자료를 백업하려고 하는데 [7] | 열심히하자 | 345 | 08-03 |
94272 | 윈 도 우| 현재 윈도우11 22622.450 사용중입니다만 [2] | QOR | 499 | 08-03 |
94271 | 윈 도 우| 모든 탐색차에 주르르르 마침표가 날라다닙니다. [3] | sky9 | 485 | 08-03 |
94270 | 윈 도 우| 윈11 22H2 프리뷰 베타 [1] | 해동이 | 447 | 08-03 |
94269 | 소프트웨어| 삼성SSD 마이그레이션 실패이유가 궁금합니다 [1] | 프리티맨 | 578 | 08-03 |
94268 | 기 타| 배치파일에서 날짜 찾아서 백업을 하려는데.. [8] | 열심히하자 | 294 | 08-03 |
94267 | 윈 도 우| 정품 인증 [4] | 음악,영화 | 1278 | 08-03 |
94266 | 윈 도 우| 파워쉘 문의입니다. [11] | 베루두 | 365 | 08-03 |
94265 | 윈 도 우| 하드디스크 raw변경됨, checkdsk 문의 [3] | 준욱준 | 733 | 08-03 |
94264 | 소프트웨어| 화면 캡처 프로그램 중에서요.. [13] | 테츠로 | 900 | 08-02 |
94263 | 하드웨어| 프린터 출력물로 알수 있는 문제는 뭘까요? [1] | 한스 | 388 | 08-02 |
94262 | 윈 도 우| 관리자 권한 문의 드립니다. [2] | 엇갈린길 | 275 | 08-02 |
94261 | 서버 / IT| 시놀로지 NAS 보안어드바이저에서 경고가 나오는데 어떻게 ... [4] | 윙도10 | 290 | 08-02 |
94260 | 윈 도 우| 인텔 12세대 데스크탑 윈도우 설치 [2] | GolRin | 851 | 08-02 |
94259 | 소프트웨어| 인텔 그래픽드라이버 31.0.101.2111 설치시 ERROR [2] | 왕나누미 | 453 | 08-02 |
94258 | 윈 도 우| 윈10 검색박스에 배경 그림 어떻게 띄우나요 [2] | 솔트 | 268 | 08-02 |
94257 | 기 타| pe wim 파일 기본 아이콘 테마 및 커서 변경 가능한가요~? [1] | 지룡자 | 247 | 08-02 |
94256 | 하드웨어| 메인보드 전력제한해제와 K 없는 CPU [4] | billy | 645 | 08-02 |
-