2009-02-25 4 views
14

xcopy 명령을 사용하여 여러 디렉터리의 파일을 하나의 디렉터리로 복사 할 수 있습니까?xcopy를 사용하여 여러 디렉터리의 파일을 하나의 디렉터리로 복사

내가 디렉토리 트리를

루트 \ 소스를 가지고 있다고 가정 \ SUB1 \ Sub2라는

내가 루트 \ 대상에 하위 폴더를 포함하여 디렉토리 루트 \ 소스에서 모든 .xml 파일을 복사합니다. 폴더 구조 만 복사하고 싶지는 않습니다.

+3

가능하면 xcopy soultion을 볼 수 있습니다. – Michal

+0

비 DOS 명령 방법, 이것을 시도하십시오 http://www.pcworld.com/article/2105149/gather-similar-files-from-multiple-folders-and-copy-them-in-one-simple-step.html – CrakC

답변

33

DandDI가 말했듯이 xcopy는 필요하지 않습니다. for 문은 많은 도움이됩니다. 그러나, 당신은뿐만 아니라 dir 명령의 처리 결과를 명시 할 필요가 없습니다,이 명령은 배치 파일에서 사용할 때, 당신의 앞에 여분 %를 추가해야합니다, 그런데

for /R c:\source %f in (*.xml) do copy "%f" x:\destination\ 

개선하는 데 도움이 % f 변수이므로 커맨드 라인이 있어야합니다; 일괄 처리 내에서 사용

for /R c:\source %%f in (*.xml) do copy %%f x:\destination\ 

  • 해야 하는가 서라운드 % f를, 그렇지 않으면 공간
+0

은 가능한 xcopy 솔루션입니다. 파일과 폴더를 복사하는 방법을 찾았지만 파일을 가져오고 싶습니다. – Michal

+0

이 질문에 대한 질문이 있으시면이 도움을 받으실 수 있습니까? 대상 디렉토리에 이미 일부 파일이있는 경우 기존 파일을 대체/대체하고 소스에 새로 추가 된 파일 만 복사하고 싶지 않습니다. – user1699227

+0

불행히도 나는 DOS 스크립트를 더 이상 쓰지 않지만'copy %% f x : \ destination \ '를'xcopy %% f x : \ destination \/Y'로 대체하면 작업을 수행해야한다고 생각합니다. 'xcopy' 문서를 확인하십시오. – kokeksibir

3

xcopy가 필요하지 않습니다. 원하는 모든 파일의 목록을 가져 와서 복사를 수행 할 수 있습니다. 창에서 예를 XP의 명령 프롬프트에 대한

:

 
for /f "delims==" %k in ('dir c:\source\*.xml /s /b') do copy "%k" x:\destination\ 

/s의 모든 서브 디렉토리와/B 목록 파일 만 이름과 경로로 들어갑니다. 각각의 파일 inturn은 % k 변수에 할당되고 copy 명령은 파일을 대상에 복사합니다. 유일한 트릭은 대상이 소스의 일부가 아닌지 확인하는 것입니다.

0

내가 생각하는이 문제에 대한 대답으로 파일 이름을 복사 실패 따옴표로 모든 작은 하위 디렉토리에서 모든 파일을 하나의 디렉토리로 모으는 방법 "은 XXCOPY라는 소프트웨어를 다운로드하는 것입니다. 이것은 XXCOPY.COM을 통해 무료로 이용할 수 있으며 다행히도 비상업적 인 무료 버전이 있습니다. XXCOPY.COM의 도움말 기능에 대한 자주 묻는 질문 중 하나는 "내 파일을 모두 한 디렉터리에 모으는 방법"이며 실제로 사용할 스위치를 알려줍니다. XXCOPY는 이러한 작업을 확실하게 수행 할 수있는 방법이며 .zip 아카이브로 제공되므로 압축을 풀면 그다지 간단하지 않을 수 있습니다. ZipGenius라는 압축 풀기 프로그램이 있습니다 .ZipGenius.it 웹 사이트에서 다운로드 할 수 있습니다. XXCOPY를 다운로드하기 전에 ZipGenius를 다운로드 한 다음 작은 부품의 작은 double wammy (!)

관련 문제