2011-10-06 5 views
0

저는 일괄 처리 새비지로 제 사과를 수락하고 미리 감사드립니다.Windows 배치 파일 : 입력 파일 (대상 파일 이름)을 기반으로 파일 이름 변경 (복수 폴더 가능)

이 "도구"는 특정 시스템 드라이버, DLL 및 EXE 파일을 사용하지 않도록 설정하여 Windows (XP)를 자동으로 줄이는 것입니다. 철저히 삭제하는 대신 OS에서 이름을 바꾸어 "제거"해야합니다 (OS를 "복원"해야 할 필요가 있음). 이름 바꾸기는 기존 파일 이름에 새 접미어를 추가하여 수행합니다 (예 : "wdmaud.drv.group_1"). 이름 바꾸기 접미어는 다른 입력 변수 여야합니다.

대상 목록은 약입니다. 1100 파일 길이 (여러 그룹/단계로 나뉘어져 있음)이므로 수동으로 이름을 바꾸는 것은 의문의 여지가 없습니다. 각 그룹은 배치 파일의 개별 실행에서 처리되어 각 실행에 대해 대상 목록 입력 파일을 변경합니다.

대상 목록은 일반 텍스트 파일로 한 줄에 하나의 파일 이름 (파일의 다른 데이터 없음)입니다. 그룹당 항목 수는 다양합니다. 대상 목록은 다음과 같습니다.

-- example start -- 
    netapi.dll 
    netcfgx.dll 
    netdde.exe 
    netevent.dll 
    neth.dll 
    netid.dll 
    netrap.dll 
    nic1394.sys 
    -- example end -- 

파일 이름의 크기는 대문자, 소문자 또는 소문자 일 수 있습니다. 파일은 C : \ Windows 계층 구조의 둘 이상의 폴더에 존재할 수도 있고 전혀 존재하지 않을 수도 있습니다. 파일이 시스템의 어느 곳에서도 발견되지 않으면 이름은 한 줄에 하나씩 텍스트 파일에 작성되어야합니다. 관심의

특정 폴더는 다음과 같습니다

C:\WINDOWS\ 
    C:\WINDOWS\system\ 
    C:\WINDOWS\system32\ 
    C:\WINDOWS\system32\dllcache 
    C:\WINDOWS\system32\drivers 

이름 바꾸기가 너무 고정 시스템 파일이 문제가되지 않습니다, 다른 XP 컴퓨터에 대상 OS 드라이브를 연결하여 수행됩니다.

제공 할 수있는 도움이 있으면 대단히 감사하겠습니다.

+0

수퍼 유저에게 더 많은 응답을 얻으실 수 있습니다 –

+0

고마워 마틴은 지금까지 여기에 대한 조언이 적습니다. – cMP

답변

1

이중 FOR 루프는 얻을, 이것은 매우 간단한 예입니다 .. 당신을 도울 수 있습니다 당신은

for /f "tokens=*" %%f in (%targetlist%) do (
    for /f "tokens=*" %%d in (%dirlist%) do (
    if exist "%%d\%%f" echo %%f found in %%d 
) 
) 

HELP FOR를 참조하기 시작했다.

+0

감사합니다. PA! 그것은 세련을 필요로하지만, 내가 필요로하는 모든 것을 다하는 것 같습니다 (... 내가 더 생각할 때까지!) – cMP

관련 문제