안녕하세요...
A컴퓨터에서 B컴퓨터로 복사를 하는 풀을 만들려고 합니다.
단순 파일 COPY로 처리를 해야할지 좀 고민이 됩니다.
C:.
├─a
│ ├─a1
│ ├─a2
│ └─a3
├─b
│ ├─b1
│ ├─b2
│ └─bc
└─c
├─c1
├─c2
└─c3
a1, a2, a3에 각각 a1.txt, a1.gif, a2.txt, a2.gif, a3.txt, a3.gif
b1, b2, b3에 각각 b1.txt, b1.gif, b2.txt, b2.gif, b3.txt, b3.gif
c1, c2, c3에 각각 c1.txt, c1.gif, c2.txt, c2.gif, c3.txt, c3.gif
의 내용을 B라는 COPMUTER에 COPY나 MOVE를 하려고 합니다.
MOVE 할 때 GIF는 제외하고 TXT만 MOVE하라 옵션을 주고 싶습니다.
네트워크 INI 파일 CONFIGURATION을 네트워크 드라이브 연결해서
사용하려고 합니다.
질문 요약
1. A COM의 디렉토리 모든 구조와 서브폴더 안의 파일을 B COM으로 복사하는 방법?
2. A COM의 디렉토리 모든 구조와 서브폴더 안의 파잉를 B COM으로 복사할 때 ZIP, GIF는 제외하는 방법?
3. 기존 MKDIR로 폴더가 만들어져 있으면 해당 파일이 존재합니다. 붙여넣기를 하겠습니까 메시지를 출력?
4. 해당 파일들의 복사 시 MOVE 진행률을 LABEL에 보여주는 방법?
방법을 좀 알려주시길 바랍니다.
네트워크 드라이브로 연결하신다고 하셨으니
FindFirst와 FindNext 함수를 이용해서 A COM 안의 파일 및 폴더 를 읽어 들이고
서브 폴더의 경우 재귀호출을 통해서 모든 서브의 서브 등 모든 내용을 읽을 수 있습니다.
따라서
1. COPYFILE 함수를 이용해서 복사하시고 대상이 \\컴퓨터이름\공유폴더명.... 뭐 이렇게 되겠죠.
2. FindFirst, FindNext에서 읽혀진 파일명에서 ExtractFileExt 라는 함수를 이용해서 확장자를
읽어온다음 비교해서 원하는 파일만 복사하십시오
3. FILEEXISTS를 이용해서 해당 파일이 이미 존재하는지 알아보십시오. 폴더는 DirectoryExists 함수를 사용하시면 존재 여부를 알 수 있습니다. 강제적으로 디렉터리를 전체를 만들고 싶으시면 ForceDirectories 함수를 사용하시면 됩니다.
4. 해당 파일을 복사하실때 Label에 Caption에 값을 나타내 주시고 Application.ProcessMessage를 호출해 주세요.