배치 스크립트를 통해 여러 폴더에 파일 복사


2

주어진 대상의 모든 폴더 안에 파일 (file.txt)을 복사하고 싶습니다. 작업을 수행하는 배치 파일을 만들고 싶지만 Windows 배치 구문에 익숙하지 않습니다.


여러 목적지로 복사 할 단일 소스 파일이 있습니까? (예 : X : / SomeFolder 내의 모든 하위 폴더)?
Roee Adler

d : \ Destination에있는 모든 폴더에 myfile.txt를 복사하는 것과 같은 것
Remus Rigo

답변:


4

고급 버전의 for 명령은 Windows NT 4부터 사용할 수 있습니다.

배치 파일에 다음과 같은 내용이 필요합니다.

for /D %%f in ("%1\*") do copy "%2" "%%f\"

배치 파일은 다음과 같이 작동합니다.

  • 첫 번째 인수는 대상 디렉토리입니다.
  • 두 번째 인수는 복사 할 파일입니다.

그만큼 for 명령과 함께 /D 스위치는 주어진 경로의 모든 디렉토리를 반복합니다 (여기서 : %1 각 반복마다 명령을 호출합니다. 이 명령은 파일을 모든 디렉토리에 복사하는 복사 작업입니다.

물론 배치 파일은 단 한 줄이므로 명령 줄에서 직접 실행할 수도 있습니다. 변수에 대한 for 오직 하나의 %, 그럼.


2
좋아, 꽤 많이 다시 작성 했어. 필요가 있지만 기억할 점이 있으면 실행을 취소하십시오. (1) cd 배치 파일에서 나쁜 호출자를 완전히 다른 디렉토리에 남겨두기 때문입니다. 피할 수 있으면 그렇게하십시오. pushd / popd 일시적으로 디렉토리를 변경해야하는 경우 일반적으로 이동하는 방법입니다. (2) 공백을 포함 할 수있는 경우 명령에 항상 인수를 따옴표로 묶으십시오. 특히 경로 이름에 적용됩니다. (3) 절대 이제까지 ~을해라. for /f ~의 출력에 dir 당신이 절실히 필요로하지 않는다면. 기본 구성에서 콘솔은 래스터 글꼴을 사용합니다.
Joey

2
모든 유니 코드 출력이 (매우) 레거시 OEM 코드 페이지로 변환되어 악센트없는 문자 또는 물음표가 표시됩니다. 재미를 찾는다. 이름. 이후 for 특정 폴더에서나 반복적으로 사용하지 않아도되는 트리에서 파일과 디렉토리를 반복 할 수 있습니다. for /fdir 어쨌든 그 사건들.
Joey

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.