간단한 bat 파일 질문

익명 사용자의 이미지

간단한 질문 하나 드립니다.

현재 확장자 일괄변경을 하기 위해 명령어를 작성 했는데 bat파일로 적용이 안되고있습니다.

for /r %x in (*.nxl) do ren "%x" *.xls

cmd 창에서 입력을 하면 일괄적으로 변경이 가능하나 bat파일로 만들면 적용이 안되는데
혹시 어떤식으로 bat파일을 만들어야 적용이 되는지 알려주시면 감사하겠습니다.

chanik의 이미지

FOR를 배치파일에 쓸 때는 %를 두 개 쓰면 됩니다.

for /r %%x in (*.nxl) do ren "%%x" *.xls

확장자 일괄변경은 FOR 루프 없이 ren 명령 하나로도 가능합니다.

C:\>ren *.nxl *.xls

skek4197의 이미지

친절한 답변 감사합니다 .% 추가하니 동작이 정상적으로 되네요!!
명령어 없이 사용을 하면 해당 경로에서만 동작을 하다보니 FOR 루프를 사용하게 됐습니다.

혹시 그럼 d드라이브에서도 동작가능하게 할려면 추가적인 명령이 필요할까요??

chanik의 이미지

아래와 같이 드라이브, 경로를 지정해 주시면 되겠습니다.

c:\>for /R d:\test %x in (*.nxl) do ren "%x" *.xls

/R 옵션 없이 그냥 아래와 같이 하셔도 되겠고요

c:\>for %x in (d:\test\*.nxl) do ren "%x" *.xls

FOR 없이 아래와 같이 해도 되네요

c:\>ren d:\test\*.nxl *.xls