2012-07-05 2 views
0

나는 이미 질문을 받았음을 알고 있으므로이 작업을 수행 할 수있는 스크립트를 찾기 위해 철저히 조사했습니다 ... 그러나 프로그래밍에 대해서는 거의 이해하지 못했습니다. 저는 각각 66 개의 폴더를 가지고 있는데, 각 폴더는 _0, _1, ... _ 5로 끝나는 6 개의 파일을 포함합니다. 예제 파일 이름은 DSC_7789 Panorama_cube_0입니다. _0을 _f, _1을 _r, _2을 _b, _3을 _l, _4를 _u, _5를 _d로 바꾸려면 각 폴더에서 실행할 수있는 스크립트가 필요합니다. 따라서 DSC_7789 Panorama_cube_0는 DSC_7789 Panorama_cube_f로 변경됩니다. 나는 실제로이 모든 것을 나 자신에게 한 번했다. .. 그것은 하루 종일 걸렸다. 누군가가 쓰기 방향으로 나를 가리킬 가능성이 있습니까? 나는 이것이 시각적 인 기본에서 움직일 것이라고 가정하고있다. 감사!파일 이름 바꾸기 일괄 처리 스크립트

+1

스크립트가 아니지만 AntRenamer가이 문제를 잘 처리합니다. http://portableapps.com/apps/utilities/ant_renamer_portable – Smandoli

+1

[BulkRename] (http://www.bulkrenameutility.co.uk/Main_Intro.php)은이를 수행 할 수있는 다른 앱입니다. +1 하루 종일 파일 이름 바꾸기 ... – marapet

+0

@ marapet - 하하, +1. 나는 그 두 번째. – Smandoli

답변

1

REN 명령은 매우 제한되어 있지만, 필요한 경우 모두 필요합니다.

는 현재 디렉토리에있는 파일의 이름을 변경하려면 :

ren *_0 *_f 
ren *_1 *_r 
ren *_2 *_b 
ren *_3 *_l 
ren *_4 *_u 
ren *_5 *_d 

는 현재의 모든 디렉토리에있는 파일 및 모든 하위 폴더 (재귀)의 이름을하려면 다음에 뿌리를 둔 모든 파일의 이름을 변경하려면

for /d /r %%F in (.) do (
    ren "%%~fF\*_0" *_f 
    ren "%%~fF\*_1" *_r 
    ren "%%~fF\*_2" *_b 
    ren "%%~fF\*_3" *_l 
    ren "%%~fF\*_4" *_u 
    ren "%%~fF\*_5" *_d 
) 

특정 폴더 :

for /d /r "c:\your\root\here" %%F in (.) do (
    ren "%%~fF\*_0" *_f 
    ren "%%~fF\*_1" *_r 
    ren "%%~fF\*_2" *_b 
    ren "%%~fF\*_3" *_l 
    ren "%%~fF\*_4" *_u 
    ren "%%~fF\*_5" *_d 
) 


EDIT

관심있는 사람들에게 Windows RENAME이 와일드 카드를 처리하는 방법에 대한 규칙을 발견하고 문서화했습니다. How does the Windows RENAME command interpret wildcards?을 참조하십시오. 원래 Q & A를 StackOverflow에 게시했지만 SuperUser로 마이그레이션되었습니다.

+0

+1하지만, 솔직히 말해서, 왜'ren * _0 * _f'이 작동하는지 나는 수수께끼이다. 나는'name_0'을'name_0_f'와 같은 이름으로 파일의 이름을 바꾸기를 기대하지만'name_f'를 생성합니다. 이상한 ... –

+0

@ AndriyM - 그래, 난 단지 작동 할 수있는 거친 감각이 있습니다. 하지만 아직 시행 착오가 많습니다. 언젠가 나는 RENAME 명령으로 와일드 카드를 처리하는 방법을 실험하고 완벽하게 문서화하려는 불굴의 의욕을 소망하고 싶습니다. 이전 DOS 8.3 형식에 대한 설명서를 보았지만 긴 파일 이름을 지원하는 Windows에 대해서는 결정적인 사항이 없습니다. – dbenham

+0

@AndriyM - 마침내 RENAME 와일드 카드 규칙을 발견했습니다. 업데이트 된 답변의 링크를 참조하십시오 :-) – dbenham

관련 문제