와일드카드를 사용하여 "%~dp0" 하위 폴더에서 jpg 파일을 Xcopy합니다.

와일드카드를 사용하여 "%~dp0" 하위 폴더에서 jpg 파일을 Xcopy합니다.

내 데스크탑에는 폴더가 하나 있고 이 폴더에는 두 개의 폴더 가 Test있습니다 . 따라서 구조는 다음과 같습니다.WorkingFolder\BilderStation 1

Test\WorkingFolder\Bilder
Test\Station 1

(메인 폴더) 내에 Test\배치 파일이 있습니다. 에서 으로 .jpg파일을 이동하거나 복사할 수 있어야 합니다 . 이를 위해 나는 .Test\Station 1Test\WorkingFolder\BilderXCopy

문제는 XCOPY배치 파일이 유사한 구조의 여러 폴더에서 사용되지만 경로 이름은 다르기 때문에 에서 복사 원본 폴더의 이름을 사용할 수 없다는 것입니다. 그래서 대신에 다음을 사용하려고 했습니다 %~dp0.
설명하는 이미지

내 코드는 다음과 같습니다

md WorkingFolder\Bilder
xcopy /s "%~dp0\*.jpg"  WorkingFolder\Bilder\

제가 작성하려고 하는 것은 배치 파일이 있는 폴더인 의 하위 폴더와 이미지가 있는 하위 폴더 내의 모든 .jpg항목 을 복사하여 .%~dp0%~dp0Station 1WorkingFolder\Bilder

문제는 파일이 복사되지 않는다는 것입니다. Station 1에서 직접 참조할 때만 Xcopy파일이 복사됩니다. 나는 모든 하위 디렉토리를 참조할 수 있어야 %~dp0하고 하위 디렉토리를 %~dp0\example.

도와주세요!

답변1

나는 그것을 믿는다xcopy다음 오류를 보고합니다.

Cannot perform a cyclic copy

이는 대상 디렉터리가 소스 디렉터리 트리에 있기 때문에 발생합니다.

당신은robocopy명령대신 대상 디렉터리를 제외합니다.

robocopy "%~dp0." "%~dp0WorkingFolder\Builder" "*.jpg" /S /XD "%~dp0WorkingFolder"

관련 정보