2013-08-26 6 views
0

특정 폴더에서 특정 형식의 파일 이름을 바꾸려고합니다. 필자는 파일 이름을 가진 텍스트 파일을 만들고 루프 된 for 문에서 해당 텍스트 파일을 참조하여이 작업을 수행합니다. cmd에서 줄 단위로 명령을 실행하면 배치 파일로 실행하려고해도 제대로 작동하지 않습니다. 배치 파일은 작업을 수행 할 폴더에 저장되므로 디렉토리를 선언 할 필요가 없다고 가정합니다. 어떤 도움을 많이 주시면 감사하겠습니다!배치 파일을 사용하여 폴더의 파일 이름 바꾸기

dir > file.txt 
for /f "tokens=1,2,3,4 delims=_." %i in (file.txt) do ren "%i_%j_%k.%l" "%date:~10%%date:~4,2%%date:~7,2%_%time:~0,2%h%time:~3,2%m%time:~6,2%s_%k.%l" 

:END 

답변

1

변수의 cmd를 스크립트에서 루프를 작성 (예 : %의 난)이 될 수 있도록 여분 %로 이스케이프 할 필요가 :

for /f "tokens=1,2,3,4 delims=_." %%i in (file.txt) do ren "%%i_%%j_%%k.%%l" "%date:~10%%date:~4,2%%date:~7,2%_%time:~0,2%h%time:~3,2%m%time:~6,2%s_%%k.%%l" 

읽기에 더 많은 방법 작품 for /?을 입력하기위한 cmd에서.

흥미로운 부분 :

가 일괄 프로그램에서 명령의를 사용하는 대신 % 변수의 을 %% 변수를 지정합니다. 변수 이름은 대소 문자를 구별하므로 % i는 % I의 과 다릅니다.

+0

실수를 잊어 버렸습니다. 위대한 일을 지금. 감사!!! – AsEeD

+0

@AsEeD 듣기 좋다니! 이것이 좋고 정확하다면 이것을 답으로 표시하고 싶을 것입니다. – NiKiZe

+0

완료. 다시 한 번 감사드립니다! – AsEeD

관련 문제