2012-02-09 3 views
4

한 위치에서 다른 위치로 여러 디렉터리를 복사해야합니다. 따라서 여러 개의 문이 차례로 여러 번 나타납니다.xcopy를 사용한 병렬 복사

각 폴더의 파일 수는 매우 많습니다. 이 xcopy 문을 병렬로 실행할 수있는 방법이 있습니까? 내가 생각할 수있는 한 가지 옵션은 각각 xcopy을 별도의 배치 파일에 호출하고 @call 대신 @start을 사용하여 배치 파일을 호출하는 것입니다.

다른 대안이 있습니까?

답변

6

start xcopy [parameters]처럼 xcopy를 직접 시작할 수 있습니다. 이를 통해 많은 xcopy 인스턴스를 병렬로 실행할 수 있습니다.

By 덧붙여서 : robocopy를 사용해 보셨습니까? 최근의 모든 Windows 버전에 포함되어 있으며 xcopy보다 더 많은 옵션 (때로는 성능)을 제공합니다.

일반적으로 파일을 순차적으로 읽는 대신 소스 드라이브가 병렬 복사 작업을 수행해야하므로 여러 개의 디렉토리를 병렬로 복사하는 것이 더 느립니다 (적어도 드라이브에서 다른 드라이브로 복사 할 때).

+0

Robocopy를 사용해 보았습니다. 그것은'/ MT [: number]'를 사용하고 있습니까? 사실 Windows XP SP3에서이 작업을 수행해야하므로 Robocopy를 명시 적으로 가져와야합니다. 그러나, 나는 그것의'/ MT' 사용법을 완전히 이해하지 못했습니다. 정교하게 제발 주시겠습니까? –

+2

기본적으로 robocopy는 8 개의 스레드를 사용하여 일부 작업을 병렬로 수행합니다. 즉, robocopy를 사용하여 디렉토리의 모든 파일을 병렬로 복사 할 수 있습니다. 예를 들어'/ MT : 100'을 지정하면 robocopy는 최대 100 개의 파일을 병렬로 복사합니다. 나는 그것을하는 것을 추천하지 않을 것이다 - 8는 충분하다. 따라서 실제로 xcopy 대신 robocopy를 선택했다면 순차적으로 호출하십시오. 첫 번째 디렉토리를 병렬로 복사 한 다음 두 번째 디렉토리를 복사합니다. – Simon

+0

Simon 님의 댓글을 확인할 수 있습니다. 나는'/ MT : % NUMBER_OF_PROCESSORS % '대'/ MT : 100'을 사용하여 빌드 출력으로 무거운 원격 디렉토리에서 ROBOCOPY를 측정했으며, 후자는 쿼드 코어 i5 기반 시스템에서 평균 _ ** 66 % 6500 나는 오래 전이 수준의 유연성에 대해 알고 싶다! –

관련 문제