특정 확장자를 가진 모든 파일을 디렉토리 구조 없이 단일 디렉토리에 복사하려면 어떻게 해야 합니까?

특정 확장자를 가진 모든 파일을 디렉토리 구조 없이 단일 디렉토리에 복사하려면 어떻게 해야 합니까?

JPG확장자가 있는 다양한 하위 디렉터리의 모든 파일 C:D:. 디렉토리 구조를 보존하고 싶지 않습니다.

내가 얻은 것은 다음과 같습니다.

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures

이 시점 이후에는 덮어쓸 것인지 묻는 메시지가 나타납니다 D:\pictures. 라고 대답하면 yes단일 파일이 되고, 아니오라고 대답하면 파일이 복사되지 않습니다.

/y명령 끝에 추가도 시도했지만 이전 파일을 덮어쓰고 마지막 파일만 남깁니다.

답변1

이것은 작동합니다:

for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures\

설명:

이 명령은 copy "%f" D:\pictures파일을 디렉터리의 파일 %f위치에 복사합니다 .D:\picturespicturesD:\

디렉터리로 취급 \되도록 후행을 추가합니다 .copypictures

여러 파일을 단일 위치(예: copy *.* D:\backup)에 복사하면 은(는) copy자동으로 backup하나의 디렉터리로 처리됩니다. 그러나 단일 파일을 복사하는 경우에는 그렇지 않습니다.

답변2

/R c:\ %%1 in ("*.txt") do @xcopy "%%1" d:\txttemp%%~p1 /e/i/s/q/h

이 코드는 덮어쓰기 없이 복사되며 폴더와 하위 폴더를 생성합니다.

관련 정보