program tip

Windows에서 특정 패턴의 파일을 단일 플랫 폴더에 재귀 적으로 복사하려면 어떻게해야합니까?

radiobox 2020. 11. 30. 08:02
반응형

Windows에서 특정 패턴의 파일을 단일 플랫 폴더에 재귀 적으로 복사하려면 어떻게해야합니까?


폴더 집합에서 DLL 및 PDB 파일 집합을 재귀 적으로 다른 폴더로 복사해야합니다. 대상 폴더에서 폴더 계층 구조를 다시 만들고 싶지 않습니다. DOS 명령과 같은 내장 된 Windows 도구를 사용하고 싶습니다.


mkdir targetDir
for /r %x in (*.dll, *pdb) do copy "%x" targetDir\

여러 파일을 복사하고 "예"라고 답하지 않으려면 위 명령 끝에 / Y를 사용합니다.


XCOPY 명령

재귀 적으로 폴더를 복사하는 예 :

mkdir DestFolder
xcopy SrcFolder DestFolder /E

(아래의 WIKI 다음 주석에서 명령은 DOS 3.2 이후로 사용 가능하게 됨)


경로에 공백이 있으면 따옴표가 올바른지 확인하십시오.

이것은 내 TFS 빌드 서버에 대한 빌드 후 이벤트입니다 (이것이 "%%"가있는 이유입니다). 복사 할 모든 테스트 파일이 필요했습니다.

if not exist  "$(TargetDir)..\SingleFolderOutput" mkdir -p "$(TargetDir)..\SingleFolderOutput"

for /r **%%x** in (*.dll, *.pdb, *.xml, *.xaml, *.exe, *.exe.config) do xcopy **"%%x"** "$(TargetDir)..\SingleFolderOutput" /Y

@echo off
if %1'==' goto usage
if %2'==' goto usage
if %3'==' goto usage
for /D %%F in (%1\*) do xcopy %%F\%2 %3 /D /Y
for /D %%F in (%1\*.) do call TreeCopy %%F %2 %3
goto end
:usage
@echo Usage: TreeCopy [Source folder] [Search pattern] [Destination folder]
@echo Example: TreeCopy C:\Project\UDI *.xsd C:\Project\UDI\SOA\Deploy\Metadata
:end

이 작업을 직접 수행하는 명령 줄 도구는 알지 못하지만 하위 폴더를 반복하는 배치 스크립트를 만들고 필요한 파일을 복사 할 수 있습니다.

그러나 파일을 모두 같은 폴더에 배치하면 파일 이름이 중복 될 수 있습니다.

참고 URL : https://stackoverflow.com/questions/246559/how-can-i-recursively-copy-files-of-a-specific-pattern-into-a-single-flat-folder

반응형