Q&A

  • directory에서 화일 copy하기
임의의 directory에서 abc***.doc 화일 copy하기

directory에서 abc로 시작되는 doc화일을 전부 copy할수 있는 방법좀

알려 주세요.

3  COMMENTS
  • Profile
    구창민 1999.07.31 00:26
    김명호 께서 말씀하시기를...

    > 임의의 directory에서 abc***.doc 화일 copy하기

    > directory에서 abc로 시작되는 doc화일을 전부 copy할수 있는 방법좀

    > 알려 주세요.



    김명호님 안녕하세요?

    일전에 디렉토리 관련 모듈을 개발한 적이 있습니다.

    델파이 헬퍼의 팁/강좌란에 올려두었습니다.

    '디렉토리'라고 검색창에 입력하시구 찾아보시면

    제가 작성해서 올려둔 몇몇 디렉토리에 관련된

    자료(디렉토리 복사(하부디렉토리까지), 생성,삭제)

    들을 보실수 있습니다.



    그리고, 말씀하신 것 처럼 .Doc 화일만을 복사하시려면

    소스를 조금만 수정하시면 될겁니다.

    파일을 찾은 부분에서 확장자가 .Doc인지만 비교해주시면

    해결될거 같네요.



    그럼. 즐거운 프로그래밍 하세요~~

  • Profile
    김명호 1999.07.31 01:08
    구창민 께서 말씀하시기를...

    > 김명호 께서 말씀하시기를...

    > > 임의의 directory에서 abc***.doc 화일 copy하기

    > > directory에서 abc로 시작되는 doc화일을 전부 copy할수 있는 방법좀

    > > 알려 주세요.

    >

    > 김명호님 안녕하세요?

    > 일전에 디렉토리 관련 모듈을 개발한 적이 있습니다.

    > 델파이 헬퍼의 팁/강좌란에 올려두었습니다.

    > '디렉토리'라고 검색창에 입력하시구 찾아보시면

    > 제가 작성해서 올려둔 몇몇 디렉토리에 관련된

    > 자료(디렉토리 복사(하부디렉토리까지), 생성,삭제)

    > 들을 보실수 있습니다.

    >

    > 그리고, 말씀하신 것 처럼 .Doc 화일만을 복사하시려면

    > 소스를 조금만 수정하시면 될겁니다.

    > 파일을 찾은 부분에서 확장자가 .Doc인지만 비교해주시면

    > 해결될거 같네요.

    >

    > 그럼. 즐거운 프로그래밍 하세요~~



    지금 해결해야 하는데 그 쪽의 서버가 실행이 안되는군요!

    그냥 갈켜주시면 안되나요?



  • Profile
    구창민 1999.07.31 01:21
    김명호 께서 말씀하시기를...

    > 구창민 께서 말씀하시기를...

    > > 김명호 께서 말씀하시기를...

    > > > 임의의 directory에서 abc***.doc 화일 copy하기

    > > > directory에서 abc로 시작되는 doc화일을 전부 copy할수 있는 방법좀

    > > > 알려 주세요.

    > >

    > > 김명호님 안녕하세요?

    > > 일전에 디렉토리 관련 모듈을 개발한 적이 있습니다.

    > > 델파이 헬퍼의 팁/강좌란에 올려두었습니다.

    > > '디렉토리'라고 검색창에 입력하시구 찾아보시면

    > > 제가 작성해서 올려둔 몇몇 디렉토리에 관련된

    > > 자료(디렉토리 복사(하부디렉토리까지), 생성,삭제)

    > > 들을 보실수 있습니다.

    > >

    > > 그리고, 말씀하신 것 처럼 .Doc 화일만을 복사하시려면

    > > 소스를 조금만 수정하시면 될겁니다.

    > > 파일을 찾은 부분에서 확장자가 .Doc인지만 비교해주시면

    > > 해결될거 같네요.

    > >

    > > 그럼. 즐거운 프로그래밍 하세요~~

    >

    > 지금 해결해야 하는데 그 쪽의 서버가 실행이 안되는군요!

    > 그냥 갈켜주시면 안되나요?

    >



    명호님 구창민입니다.

    델파이 헬퍼에 접속이 안되나요?

    아니면 게시판만 접속이 안되나요? 에궁..



    여기 문답 게시판에서도 본적 있는데,

    일전에 제가 만들어 사용한 함수를 올립니다.

    찾은 파일에서 .Doc인지 확인하는 루틴은 직접

    수정하시기 바랍니다.



    그럼 즐거운 프로그래밍~~



    ==========================================================================

    디렉토리 단위로 복사하는 재귀호출 함수입니다.

    소스디렉토리와 타켓디렉토리를 인수로 받아서 소스디렉토리내의 모든

    하부 디렉토리와 화일을 타켓디렉토리로 복사합니다.



    Procedure TForm1.DirectoryCopy(Sourcedir :string; Destdir: string);

    var Pstr : array[0..256] of char; //널 종료 문자열로 바꾸기 위한 저정하기 위한 변수

    Pstr2 : array[0..256] of char;

    str : string[255]; //경로를 조립하기 위한 임시 문자열

    str2 : string[255];

    SearchRec : TsearchRec; //소스디렉토리를 검색하고자 할때 쓰이는 레코드(파스칼 구조체입니다.);

    Result : integer; //찾았는지 못 찾았는지 여부

    BEGIN

    str := Sourcedir + '*.*';

    findfirst(str, faanyfile, SearchRec); //소스폴더를 검색한다.

    Result := 0; //검색결과 여부의 초기화



    While Result = 0 do //다음 화일을 찾아 루프를 반복

    begin

    if (SearchRec.name = '.') or (SearchRec.name = '..') then

    begin //폴더가 자기자신이거나 상위폴더일 경우

    Result := findnext(SearchRec); //검색 결과 화일을 찾으면 1이다.)

    continue;

    end;



    if SearchRec.attr = fadirectory then //발견한 대상이 디렉토리이면

    begin

    str := Sourcedir + '' + SearchRec.name; //소스디렉토리 와 발견한 디렉토리를 더한다.

    str2 := Destdir + '' + SearchRec.name; //타켓디렉토리 와 발견한 디렉토리를 더해준다.

    Mkdir(str2); //타켓디렉토리를 생성한다.

    DirectoryCopy(str, str2); //디렉토리 이므로 여기서 자기자신을 재귀호출한다.

    Result := findnext(SearchRec); //결과를 돌려준다.

    continue;

    end;



    //아래는 찾은것이 화일일 경우 복사를 하는 부분이다.

    //완전 경로명으로 조립해 주어야 한다.

    str := Sourcedir + '' + SearchRec.name;

    str2 := Destdir + '' + SearchRec.name;

    StrPcopy(pstr, str);

    StrPcopy(pstr2, str2);

    CopyFile(pstr, pstr2, false);

    //이것은 API함수이다. Parameter는

    //CopyFile(소스화일명, 데스트화일명, 플래그) 마지막 인자인 플래그는 false 일경우 화일이 존재할때 덮어쓴다.)

    Result := findnext(SearchRec); //검색여부

    end; //While 문의 끝

    END; //함수의 끝