Q&A

  • 많은 파일의 이름을 바꾸는 방법좀 갈켜주세여
델파이 초보입니다

하나의 폴더에 여러개의 파일(1500여개정도)이 있습니다

가령

aaa_bbb_ccc.zzz

qbsqq_wer_awe_awee.zzz

q_asdf_asdf_asdfasdg.zzz



확장명은 임의로 zzz 이라고 하고

단지 일률적으로 파일명 사이에 있는 "_"를 빼고 대신에 space key 값 " "를

넣고싶습니다

파일에있는 데이타를 바꾸는 건 아닙니다

하나하나 수정하기엔 넘 힘드네여



한 바이트 씩 읽어서 바꾸면 될것같은데...

파일명 읽어오고 바꿔주는걸 모르겟네여

아시는분 알려주시면 감사하겠습니다



1  COMMENTS
  • Profile
    홍성락 2001.06.14 22:59
    막대기 wrote:

    > 델파이 초보입니다

    > 하나의 폴더에 여러개의 파일(1500여개정도)이 있습니다

    > 가령

    > aaa_bbb_ccc.zzz

    > qbsqq_wer_awe_awee.zzz

    > q_asdf_asdf_asdfasdg.zzz

    >

    > 확장명은 임의로 zzz 이라고 하고

    > 단지 일률적으로 파일명 사이에 있는 "_"를 빼고 대신에 space key 값 " "를

    > 넣고싶습니다

    > 파일에있는 데이타를 바꾸는 건 아닙니다

    > 하나하나 수정하기엔 넘 힘드네여

    >

    > 한 바이트 씩 읽어서 바꾸면 될것같은데...

    > 파일명 읽어오고 바꿔주는걸 모르겟네여

    > 아시는분 알려주시면 감사하겠습니다

    > ///////////////////////////////////////////////////////////////////////////////

    아래예제참조하세요

    DirectoryList는 디렉토리전체를 가진 스트링변수입니다.

    var

    SearchRec: TSearchRec;

    i : integer;

    DirectoryList, P_Name, N_Name : string;



    if FindFirst(DirectoryList + '*.*', faAnyFile , SearchRec) = 0 then

    begin

    repeat

    if pos('.zzz', SearchRec.Name)>0 then

    begin

    P_Name := DirectoryList + '' + SearchRec.Name;

    if (FileExists(P_Name)) then

    begin

    N_Name := StringReplace(P_Name, '_', ' ', [rfReplaceAll]);

    RenameFile(P_Name, N_Name);

    end;

    end;

    until FindNext(SearchRec) <> 0;

    FindClose(SearchRec);

    end;