상위 폴더의 모든 하위 디렉터리에 복사하고 싶은 *otf 파일이 있습니다. 이것이 내가 시도한 것입니다.
for /R %%x in (.) do copy "file.otf" "%%x"
이는 대부분의 경우 작동하지만 상위 폴더에 복사본도 남깁니다. 일괄 처리가 모든 하위 디렉터리에만 복사되도록 하는 문제를 해결하고 싶습니다.
답변1
귀하의 코드가 Microsoft Windows [버전 10.0.17134.648]에서 작동하도록 할 수 없습니다. 다음 코드는 작동합니다.
시험:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do echo copy /y "file.otf" to "%%x\"
복사:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do copy /y "file.otf" "%%x\"
하위 디렉터리에서 file.otf를 삭제합니다.
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do del /q "%%x\file.otf"
tokens=*는 경로/파일 이름의 공백을 처리합니다.
"tokens=*"
dir /b /s /ad는 파일을 파일이 아닌 디렉터리에 복사합니다. /ad file.otr이 없으면 디렉터리의 모든 파일을 덮어씁니다.걱정된다면 copy /y 대신 copy를 사용하세요.
dir /b /s /ad
copy /y는 허가를 요청하지 않고 file.otr을 덮어씁니다. 작동하는 것에 만족하기 전에 몇 번 시도해야 합니다.
copy /y
코드를 "수정"하는 대신 상위 디렉터리에서 file.otr을 삭제하는 것이 어떨까요?
del /q file.otr