robocopy를 사용하여 디렉토리에서 폴더/파일을 삭제합니다. minage를 사용하여 폴더 및 파일을 이동하는 스크립트
스크립트 :C : \ (12 일 이전) 소스 \ 디렉토리 \의은 File2.txt
C : \ 소스 \ directory2 \
SET source1=c:\source
SET destination=F:\destination
SET switch1=/r:10 /w:1 /e /create /minage:10 /mt /LOG:F:\logs\backup.log
FOR /d %%i IN ("%source1%\*") DO ROBOCOPY "%%i" "%destination%\%%~nxi" %switch1%
FOR /d %%p IN ("%source1%\*") DO RMDIR "%%p" /s /q
FOR /d %%q IN ("%destination%\*") DO RMDIR "%%q" /s /q
소스 디렉토리는 다음과 같습니다
FOR /d %%p IN ("%source1%\*") DO RMDIR "%%p" /s /q
(5 일 이전) file2.txt는
내 문제는 스크립트에서이 라인
그 라인은 소스에서 복사 된 디렉토리 인 RMDIR뿐만 아니라 모든 디렉토리를 제거합니다. 그리고 참고로, 나는 소스 디렉토리를 삭제할 것이므로 사용/이동할 수 없습니다./mov를 사용하면 모든 하위 디렉토리가 삭제되지 않습니다.
내가 여기 잘못 생각한 이유는 무엇입니까? 미리 감사드립니다.
편집 : 문제 해결을 위해 원본 디렉터리 dir/tw/s 정보를 포함합니다. ABT 폴더는 삭제해야하는 폴더입니다. robocopy
폴더 제거를 제외한 모든 것을 처리 할 수
Directory of C:\
09/27/2016 03:08 PM <DIR> .
09/27/2016 12:10 PM <DIR> ..
09/27/2016 03:09 PM <DIR> New Folder
06/25/2014 05:47 AM <DIR> abt
0 File(s)
Directory of C:\New folder
09/27/2016 03:09 PM <DIR>
09/27/2016 03:08 PM <DIR>
09/27/2016 03:09 PM
1 File(s)
Directory of C:\abt
06/25/2014 05:47 AM <DIR>
09/27/2016 03:08 PM <DIR>
03/20/2014 10:08 AM
06/25/2014 05:47 AM
04/28/2014 02:33 PM
05/20/2014 10:47 AM <DIR>
02/18/2014 07:24 PM
05/20/2014 10:51 AM
5 File(s)
Directory of C:\abt\Scripts
05/20/2014 10:47 AM <DIR>
06/25/2014 05:47 AM <DIR>
10/02/2012 11:18 AM
02/02/2012 12:16 PM
02/17/2012 11:32 AM
물론 'rmdir/S'는 모두 삭제합니다. '/ MOVE' 옵션을'robocopy'에 추가하여 일치하는 파일과 디렉토리를 목적지로 이동 시키면'for/D %% p '명령 줄 전체를 생략 할 수 있습니다 ... – aschipfl
/move will delete 부모 디렉토리 (소스 디렉토리). 나는 그것을 지킬 수 있어야한다. 그러면 'c : \ source'가 제거됩니다. 또한/mov를 사용하면 서브 디렉토리의 'c : \ source'아래를 삭제하지 않습니다. –
forfiles를 사용하여 연령 테스트를 수행 한 다음 필요한 모든 명령을 작성할 수 있습니다. 'forfiles/D -10/C "cmd/c if is isir == TRUE 에코 복사 @relPath"' – FloatingKiwi