2014-06-24 1 views
2

속성, 타임 스탬프 등을 유지하면서 Robocopy를 사용하는 특정 디렉토리에서 모든 파일을 수집하는 데 필요한 파일 확장명 목록이 있습니다. 누군가가 내 현재 솔루션보다 더 효율적인 방법을 제안 할 수 있기를 바랍니다. 은 "처리되지 않은"디렉토리 내부에서동일한 디렉토리를 반복하는 복수 robocopy 명령의 대체 파일

robocopy %Directory1% "%Directory2%\unprocessed" /Z /E /copy:dat *.pst *.ost *.doc *.docx *.pdf *.docm *.xls *.xlsx *.ppt /log+:%Directory%.txt 

개별 수집 된 파일은 각 파일 확장자의 이름을 따서 명명 개별 폴더에 분류되어 있습니다 :

은 현재 나는 "처리되지 않은"디렉토리에 다음 명령을 사용하여 이러한 파일을 복사 다시 개별있는 Robocopy 명령을 사용하여 "처리되지 않은"디렉토리와 동일한 수준에서 만든 : 당신이 이해할 수 있듯이

robocopy "%directory2%\unprocessed" %directory2%\pst *.pst /Z /E 
... 
... 
robocopy "%directory2%\unprocessed" %directory2%\ppt *ppt /Z /E 

이는 "처리되지 않은"디렉토리를 여러 번 불필요한 반복을 초래한다. 필자는 robocopy의 특성 때문에 파일을 최종 휴지 장소로 직접 복사 할 수 없으므로 누군가가 파일 특성을 그대로 유지할 수있는보다 적합한 솔루션을 제안 할 수 있기를 바랍니다.

+0

이것을 달성하기 위해 Python 또는 이와 비슷한 것을 사용해 보셨습니까? – Jim

답변

1

이 예에서 % 기호를 감안할 때 당신은 아마 일부로서이를 실행하는 것 같습니다, (사람이 답변을 직접 수있는 반대로 나는이 논의로 전환 할 수 있음을 미리 사과) 배치 파일의

명령 행 :

for %e in (pst ost doc docx pdf dcom xls xlsx ppt) do robocopy "%Directory1%" "%Directory2%\%e" /Z /E /copy:dat *.%e /log+:%Directory%.txt 

박쥐 파일 :

for %%e in (pst ost doc docx pdf dcom xls xlsx ppt) do robocopy "%Directory1%" "%Directory2%\%%e" /Z /E /copy:dat *.%%e /log+:%Directory%.txt 

한가지주의 할 : 당신이 환경 변수가 정의되어있는 경우 어느 쪽이든, 당신은 다음을 사용할 수 있습니다 당신은거야 아마도 docx와 docx 모두에있는 모든 docx 파일로 끝날 것이며 마찬가지로 xlsx는 xls와 xlsx로 끝날 것입니다. Windows는 항상 3 자의 확장자를 가진 더 긴 확장자를 선택합니다.