msinet.ocx的文件搜索删除问题
这段程序的目的:
ftp有2个文件夹:假设ftp上有源文件夹is_sourcedir和目的文件夹is_distdir,本地文件夹是databackup.
1。从is_sourcedir拷贝文件ls_file到databackup,
2。再从databackup上传ls_file文件到is_distdir,
3。上传后,判断is_distdir是否存在ls_file文件,
4。如果存在,则删除is_sourcedir文件夹中的ls_file文件。
(问题在第3,4步,我测试的一共有4个文件,第一个文件能成功完成前2个步骤,第3步就是一直在等待,从ftp看一直是登录状态,但是网络流量看基本没有。以前没有第3步的时候,程序没有问题)
(如果大家有什么办法能直接从ftp的is_sourcedir把文件拷贝到is_distdir而不用经过本地,也请你告诉我,谢谢)
源程序:
//获得需要的文件列表
st_1.text = "正在搜索文件..."
ole_1.object.Execute("","dir "+is_sourcedir+"*.*", "", "")
Do While ole_1.object.stillexecuting
yield()
Loop
la_file = ole_1.object.GetChunk(ref len)
Do While ole_1.object.stillexecuting
yield()
Loop
ls_file_list = la_file
//ls_file_list是通过dir命令得出的文件列表
do while ls_file_list<>""
ole_1.object.requesttimeout = 120
//获得单个文件名
ls_file = split1(ls_file_list)
//复制ftp源文件到本地
ole_1.object.Execute ("","GET "+is_sourcedir+ls_file+" DataBackup\"+ls_file, "", "")
Do While ole_1.object.stillexecuting
yield()
Loop
//复制ftp文件到ftp备份文件夹
ole_1.object.Execute("","PUT "+"DataBackup\"+ls_file+" "+is_distdir+ls_file, "", "")
Do While ole_1.object.stillexecuting
yield()
Loop
//删除ftp源文件
//先查询是否将文件传输到ftp备份文件夹,即备份文件夹是否有这个文件
ole_1.object.requesttimeout = 20
ole_1.object.Execute("","dir "+is_distdir+ls_file, "", "")
Do While ole_1.object.stillexecuting
yield()
Loop
la_temp_file = ole_1.object.GetChunk(ref temp_len)
Do While ole_1.object.stillexecuting
yield()
Loop
//如果备份文件夹存在这个文件则将这个文件从源文件夹删除
if temp_len>2 then
ole_1.object.Execute("","delete "+is_sourcedir+ls_file, "", "")
Do While ole_1.object.stillexecuting
yield()
Loop
end if
//判断是否还有其他文件
len = len(ls_file_list)
if len =2 then
exit
end if
loop