XCOPY를 이용한 당일날짜의 파일만 카피하는방법

몇일전 의 날짜에 만들어 진 파일을 백업 하려면 참고로 특정 날짜를 분리 해서  %DATE% 로 부터 나온 문자열로부터 년,월,일 을 분리 해내어서 숫자를 계산해서 하면 됩니다.

프로그램 없이 간단한  백업 할때 상당히 유용하게 쓰이는데요.

여러가지 좋은 백업 프로그램이 있지만 배치파일로 하는게 제일 가볍고 좋다고 봅니다.

 


@echo off

for /f "tokens=1-3 delims=- " %%A in ('echo %DATE%') do (set YY=%%A&SET MM=%%B&SET DD=%%C)

 

토큰을 사용해서 분리 해 냅니다.

이렇게 하면 %YY% 에는 연도가  %DD% 에는 날짜가 %MM% 달이 들어 갑니다 .

 /d:m-d-y 형식으로 되어 있더군요
 xcopy d:\aaa\*.txt d:\ /D:%MM%-%DD%-%YY%

xcopy_today.bat

  @echo off
  for /f "tokens=1-3 delims=- " %%A in ('echo %DATE%') do (set YY=%%A&SET MM=%%B&SET DD=%%C)

  xcopy d:\aaa\*.txt d:\ /D:%MM%-%DD%-%YY%


이렇게 하면  연산도 가능 합니다.

set /a D2=%DD%-2
%D2% 에는 2일전의 날짜가 들어 갑니다 .  10 일이라면 8 일이 들어 가겠죠.

날자의 부분도 취할수 있는데
set /a D3=%DD:~1,2%

이렇게 하면 %DD% 가 23 일이라면   %D3% 두번째 글자 3 이 들어 갑니다.

set D3=%DD:~1,2%
xcopy d:\aaa\*.txt d:\ /D:%YY%-%MM%-%D3%

 

이틀전이라면

set /a D2=%DD%-2
xcopy d:\aaa\*.txt d:\ /D:%YY%-%MM%-%D2%

 

이것을 응용해서 하루 이전에 해당 디렉토리 하위 파일들을 복사 하는 방법은

 

  @echo off
  for /f "tokens=1-3 delims=- " %%A in ('echo %DATE%') do (set YY=%%A&SET MM=%%B&SET DD=%%C)

  set /a D2=%DD%-1
  xcopy /s d:\aaa\ d:\ /D:%MM%-%D2%-%YY%

댓글

이 블로그의 인기 게시물

뽀롱 뽀롱 뽀로로 DVD 목록

SYSLOG-NG와 MySQL 을 이용한 시스로그 응용 하기