2011-11-13 2 views
0

나는 다음과 같은 폴더 구조가 있습니다윈도우 시스템에서 이름 바꾸기 폴더 및 파일을 재귀 적

Top Folder 
    -> SubFolder1 
     -> MyFolder_Latest 
     -> MyFile_Latest.txt 
    -> SubFolder2 
     -> MyFolder_Latest 
     -> MyFile_Latest.txt 
    -> SubFolder3 
     -> MyFolder_Latest 
     -> MyFile_Latest.txt 

내가 위에 주어진, 다른 하위 폴더에있는 폴더와 파일을 변경하고자합니다. 모든 폴더와 파일 이름이 같아야하고, 나는 다음에 변경하려면 :

Top Folder 
    -> SubFolder1 
     -> myfolder 
     -> myfile.txt 
    -> SubFolder2 
     -> myfolder 
     -> myfile.txt 
    -> SubFolder3 
     -> myfolder 
     -> myfile.txt 

은 기본적으로 여기에 두 가지 일을 : 가) 모든 파일 및 폴더 이름에서 _Latest 제거. b) 모든 폴더 및 파일의 대소 문자를 대문자로 변환

누구든지 Windows에서 위와 같은 작업을 수행하는 방법에 대한 아이디어가 있습니까? 내 시스템에서는 UNIX 설치를 허용하지 않으며 해당 파일을 UNIX 시스템에 복사 할 수 없습니다. 현재 네트워크가 UNIX 상자에서 SCP 또는 FTP 권한을 제공하지 않기 때문에 :-(

또한 누군가가 적절한 UNIX의 경우 폴더를 DVD에 복사하고 UNIX 상자에서 명령을 실행 해 볼 수 있습니다 .-)

답변

2

표시된 폴더 구조에는 재귀가 필요하지 않습니다. 구조의 첫 번째 수준에있는 모든 폴더를 반복하여 적절하게 이름을 바꿉니다.

는 당신이 조심 테스트 후

@echo off 
set TopFolder="c:\temp\Top Folder" 
pushd %TopFolder% 
for /d %%a in (*.*) do (
    if exist "%%~fa\MyFolder_Latest" echo REN "%%~fa\MyFolder_Latest" myfolder 
    if exist "%%~fa\MyFile_Latest.txt" echo REN "%%~fa\MyFile_Latest.txt" myfile.txt 
) 
popd 

을 시작

HELP FOR를 참조 얻기 위해 이것을 시도는 ECHO 명령을 제거합니다.

+0

좋아요! 그것은 작업을 수행했습니다 :-) – gagneet

관련 문제