2012-07-25 3 views
0

디렉토리에 대한 백업 배치 스크립트를 만들어야합니다. 10 분마다 업데이트됩니다. 나는 단지 디렉토리에 추가되거나 마지막 백업 후에 수정 된 파일 만 업데이트하고 싶습니다. 그것은 단지 배치 파일 자체를 포함하여 최근 3 개 파일을 반환하는 일괄 처리 파일이있는 디렉토리에서 작동한다는 것입니다 내가 가진배치 파일을 사용하여 디렉토리 업데이트 및 백업

@ECHO OFF 
SET srcdir=D:\Source 
SET tgtdir=D:\Target 
SET /A topcnt=3 
SET /A cnt=0 
FOR /F "tokens=*" %%F IN ('DIR /A-D /OD /TW /B "%srcdir%"') DO (
    SET /A cnt+=1 
    SETLOCAL EnableDelayedExpansion 
    IF !cnt! GTR !topcnt! (ENDLOCAL & GOTO :EOF) 
    ENDLOCAL 
    COPY "%srcdir%\%%F" "%tgtdir%" 
) 

문제점 :

나는이 스크립트를 사용하려 . 또한 복사 기능이 작동하지 않습니다. 프로그램이 srcdir을 파일 확장자와 연결하지 않으므로 프로그램은 복사 할 파일을 판별 할 수 없습니다. 제발 조언.

+0

스크립트를 작성 했습니까, 아니면 기존 스크립트를 필요에 맞게 수정하려고합니까? 귀하의 명시된 목표와 관련이없는 것으로 보입니다. – dbenham

답변

0

귀하의 코드가 귀하의 질문의 첫 번째 단락에 명시된 목표와 어떤 관련이 있는지 이해할 수 없습니다. 목표가 진술 한 것처럼 간단하다면 배치 파일이 필요하지 않습니다. 당신은 10 분마다 실행하려면 다음 명령을 예약해야합니다

xcopy /d D:\Source\* d:\Target 

위의 명령은 마지막 백업 이후에 수정 된 새 파일 만 또는 파일을 복사합니다.

백업 요구 사항이 더 복잡하면 ROBOCOPY로 전환해야합니다. 그것은 아마도 귀하의 요구를 충족시킬 수있는 다양한 옵션을 가지고 있습니다. 아직 배치가 필요하지 않습니다.

관련 문제