2017-11-13 5 views
1

배치 파일에서 많은 .tif 이미지를 이동하려고합니다. 나는 폴더 구조가 같은 하위 폴더가 많은 폴더가 있습니다. 이 폴더 중 하나는 항상 유사한 이름을 가진 하나의 .tif 파일입니다 (이름에 "SCL"이 포함되어 있음). 이 폴더에는 항상 "R20m"이라는 이름의 하위 폴더가 있습니다. 모든 .tif 이미지를 각각의 R20m 하위 폴더로 옮기고 싶습니다. 나는 문법에 붙어있다.많은 .tif 파일을 디렉터리에서 각각의 하위 디렉터리 (모두 "R20m")로 일괄 이동

for /r %%g in (*_SCL_*.tif) do Move %%g "%%~dp\R20m" 

내가 R20의 폴더 명으로 루프의 현재 드라이브 및/또는 경로를 결합하는 방법을 모른다 : 이것은 내가 지금까지있는 것입니다.

답변

1

아주 가까이 있습니다. 확장 할 for 루프 변수 이름을 생략했습니다. 이게 효과가 있니?

for /r %%g in (*_SCL_*.tif) do Move "%%~g" "%%~dpgR20m\" 

새 디렉토리가 있는지 확인하십시오.

for /r %%g in (*_SCL_*.tif) do (IF EXIST "%%~dpgR20m\" (Move "%%~g" "%%~dpgR20m\")) 
+0

흠, 원래 파일을 하위 폴더로 옮기지 만 R20이라는 확장명이없는 파일을 만듭니다. "%% ~ dpgR20m.tif"와 같은 코드 끝에 확장자를 추가하면 파일은 이동되지 않고 이름이 바뀌며 동일한 위치에 유지됩니다. 파일 이름과 확장명을 어떻게 바꾸면 될지 모르겠습니다. –

+0

이동할 디렉터리의 끝에 백 슬래시를 지정하는 방법은 어떻습니까? 수정 된 답변보기 – lit

+0

우수, 그게 내가 찾고 있던 해결책이다. 친절하게 고마워요! –