通過FTP無法下載FTP端實時更新的文件
#csAuther: Hansen
Description: Used to get test status ,and download log
Version: V1.0
Date: 2017/1/12
#ce
#include <FTPEx.au3>
#include <GUIConstantsEx.au3>
#include <ListviewConstants.au3>
#include <File.au3>
#Include <GuiListView.au3>
#RequireAdmin
Opt('MustDeclareVars',1)
Opt("GUIOnEventMode", 1)
Local $main_gui,$msg,$item_list,$iii,$time_label
Local $ftp_address="10.67.222.2",$ftp_dialog,$ftp,$return1
Global $log_all_path=@ProgramFilesDir&"\status_log",$log_path=@ProgramFilesDir&"\status_log\status.ini",$log_path_swap=@ProgramFilesDir&"\status_log\status_swap.ini",$log_path_completed=@ProgramFilesDir&"\status_log\status_completed.ini",$ii=0,$list_view
Func load_ftp_log()
Global $file_line
If FileExists($log_path) Then FileDelete($log_all_path)
MsgBox(0,'','')
$ftp=_FTP_Open("Teststatus")
$ftp_dialog=_FTP_Connect($ftp,$ftp_address,"anonymous","")
If $ftp_dialog=0 Then
MsgBox(0,'Warning!',"Can't connect host server(10.67.222.2)!",3)
Exit
EndIf
$return1=_FTP_FileGet($ftp_dialog,"pub/status.ini",$log_path,False,0,0)
;$return1=_FTP_ProgressDownload($ftp_dialog, $log_path, "pub/status.ini")
MsgBox(0,'',$return1)
_FTP_FileGet($ftp_dialog,"pub/status_swap.ini",$log_path_swap)
_FTP_FileGet($ftp_dialog,"pub/status_completed.ini",$log_path_completed)
$file_line=_FileCountLines($log_path)
EndFunc
load_ftp_log()
Sleep(10000)
load_ftp_log()上面是我獲取FTP文件的一些代碼,最後是間隔10秒后再獲取一次FTP端的文件到本地,問題就是當我在這十秒内更改FTP端的文件,遇到最後一次獲取到的文件不是我修改后的文件,而是第一次獲取的,但是當我程序重新運行,第一次就可以獲取到我修改的文件,可是修改后同樣最後一次不能獲取到我修改后的文件,這個脚本主要是想持續去抓取FTP端文件的變化,有誰知道麽?自己試了很多還是不行!
有試過每次下載刪除上次本地已經下載的文件,FTP端文件同步,都不能解決! 同志们,谁谁站出来回答下呀? 赚点金币玩玩!{:face (114):} 下载前先刷新一下?? 回复 4# 229989799
{:face (356):}怎麽刷新? 在load_ftp_log函数的结束出加上_ftp_close试一下。 回复 6# h20040606
{:face (125):}有試過,還是不行,貌似必須重啓這個軟件才能獲取FTP更新后的文件,總是差一個刷新! _ftp_close再重新连上去,检测文件大小一样就不下载
页:
[1]