2011-03-30 7 views
1

배치 파일을 실행하여 모든 폴더의 이름을 바꿉니다. 배치 DOS - 폴더 이름 바꾸기

나는 폴더와 파일을 다음 한의가 있다고 가정 해 봅시다 : 나는 배치 파일을 실행하면, "1"은 아니지만 파일 이름에서, 폴더에서 제거해야합니다

A1 (Folder) 
|----> A1.txt A1.doc 

B1 (Folder) 
|----> B1.txt B1.doc 

C1 (Folder) 
|----> C1.txt C1.doc 

. 그래서, 실행 한 후에.

A (Folder) 
    |----> A1.txt A1.doc 

    B (Folder) 
    |----> B1.txt B1.doc 

    C (Folder) 
    |----> C1.txt C1.doc 

답변

2

사용 for /d이 디렉토리를 반복하기 : 당신은 같은 얻을 것이다

setlocal enabledelayedexpansion enableextensions 
for /d %%f in (*) do (
    set N=%%f 
    set N=!N:1=! 
    ren "%%f" "!N!" 
) 

이 폴더 이름에서 어떤1을 제거하지만. 숫자가 다양하고 한 문자 만 길면 위의 적절한 위치에

set N=!N:~0,-1! 

대신 할 수 있습니다.

+0

1로 끝나는 폴더 이름 만 찾기 위해'in (* 1) '을 사용할 수 없습니까? – Neil

+0

@Neil : 실제로 할 수 있습니다. 질문에서 나는 모든 * 폴더가'1 '로 끝난다고 가정했다. 나는 질문을 한 사람이 자신의 필요에 쉽게 적응할 수 있다고 생각한다. 질문은 "내 문제를 충분히 닮아서 내가 여전히 사용할 수있는 완전히 다른 질문을 던져서 내가 사용할 수있는 대답을 얻는다."(때때로 실패한다. :-)). – Joey

+0

위대한, 그것은 완벽하게 작동합니다. –

관련 문제