with NMFTP1 do
begin
Host := _NTServerIP;
TimeOut := 2000;
UserID := 'songwon';
Password := 'songwon';
try
connect;
except
MessageDlg('서버접속에 실패하였습니다.',mtError,[mbYes],0);
end;
ChangeDir('down');
for i := 0 to _FileList.Count -1 do
begin
Upload(_FileList.Strings[i],_FileList.Strings[i]);
end;
DisConnect;
end;
//3.전송한 파일삭제
for i := 0 to _FileList.Count - 1 do
Deletefile(_FileList.Strings[i]);
//문제의 이부분 ㅠ.ㅠ
if RemoveDir(dirpath2) then
MessageDlg(dirpath2,mtError,[mbYes],0);
ftp로 파일을 전송후 로컬에 있는 파일과 디렉토리를 지우고 싶습니다.
_fileList(=tstringlist)에 파일들이 들어 있고 이부분은 문제없이 지워집니다.
헌데 해당 디렉토리를 지우는 부분이 안되는군요.
현재 사용중이라고 하는것 같은데 어떻게 하면 디렉토리까지 지워질까요?
FindNext를 위해서 디렉토리를 꽉 잡고 있게 됩니다.
FindClose로 풀어주신후 지우면 지워집니다.
아래 참고 하세요
dirpath := 'E:dir';
fname := dirpath+'*';
attr := faAnyFile;
if FindFirst(fname,attr,rc) = 0 then
repeat
if rc.Attr <> faDirectory then
DeleteFile(dirpath+''+rc.Name);
until FindNext(rc) <> 0 ;
FindClose(rc);
RemoveDir(dirpath);