2014-09-25 2 views
0
그때에 "데이터 파일 RC를"갖고 싶어

"C : \ 노트북 백업"파일 의 끝 날짜를 압축 그렇게있을 것입니다 :robocopy는 가장 오래된 보관 날짜를 기반으로합니까?

C:\Laptop Backups\ 
    Data Files RC 9_22_2014.zip 
    Data Files RC 9_23_2014.zip 
    Data Files RC 9_24_2014.zip 
    Data Files RC 9_25_2014.zip 

가 그럼 난 가장 빠른 날짜에보고 싶은 생성 된 날짜를 기준으로 "C : \ Laptop Backups"디렉토리에 파일 이름에 날짜가 아닌 이없고 14 일이 지난 압축 파일이 삭제됩니다. 그래서 위의 예제에서 "Data Files RC 9_25_2014.zip"에 대해 생성 된 날짜를 얻고 14 일 후에 을 계산하고 14 일이 지난 모든 압축 파일을 삭제하고 싶습니다.

방학 중이거나주의를 기울이지 않고 시스템에 장애가 발생하면 오늘 날짜를 기반으로 파일을 삭제하지 않기 때문에 가장 빠른 파일 날짜를 사용하고 싶습니다. 내가 이것을 잡지 않으면 결국 모든 백업이 삭제됩니다.

무언가가 실패하더라도 삭제가 여전히 작동하면 지점에서 14 일 후에 만 ​​삭제됩니다. 즉, 9-26-2014 이후에 복사 옵션이 작동하지 않지만 삭제가 실패라고 말합니다. 2014 년 9 월 25 일부터 14 일만 삭제되고 9-27-2014 일 후에 은 9-27-2014를 사용하지 않고 14 일 후 다시 삭제할 수 있습니다. . 그러면 항상 9 월 25 일부터 2014 년 12 월까지 백업이14 일 남았습니다.

어쩌면 이것은 문제가 아니지만 오늘 날짜를 기준으로 삭제하는 루틴을 가지고 있으며, 그 다음에 별도의 백업 소프트웨어가 있습니다. 실패한 것으로 보았 기 때문에 삭제 일괄 처리 루틴이 발생했습니다. Windows 스케쥴러에 넣어두면 모든 백업이 삭제됩니다.

그래서 이것을 피하는 가장 좋은 방법은 robocopy가 가장 오래된 파일 날짜를 보도록 설정 한 다음 이전 파일 을 삭제하거나 다른 스크립트 또는 그 조합을 삭제하도록 설정할 수 있습니까?

답변

0

최신 14 개의 .zip 파일을 폴더에 보관하려면 다음을 사용하십시오. echo을 제거하여 delete 명령을 활성화하십시오.
ZIP 파일을 날짜순으로 정렬하고 가장 최근의 14 개 파일을 항상 건너 뛰고 나머지는 삭제합니다.

표시된 폴더가 이미 있는지 확인하십시오.

@echo off 
cd /d "C:\Laptop Backups" 
for /f "skip=14 delims=" %%a in ('dir *.zip /b /o-d /a-d') do echo del "%%a" 
pause