请问怎么判断FTP一个文件已经上传完毕? CMD模式下
ftp吧
全部回复
仅看楼主
level 1
hcx0125 楼主
RT,我在写一个cmd程序,自动检测一个FTP服务器上的新增加的文件,然后把新文件下载下来
我的思路是,每一个小时进入这个Ftp然后ls一下,显示出当前目录的所有文件/文件夹,然后跟一个小时之前的比较,把新增加的行下载下来
但是现在问题来了,因为主机端不是我控制的,我也不知道上传文件的人是怎么上传,而文件最大可以达到10G. 所以下载之前,我需要判断这个文件是不是已经上传完成了。
我本来的思路是,用ftp里的Dir命令,可以显示出文件的大小,然后过30秒再dir一下,这样当两个dir.txt文件一样的时候,才说明这个文件已经上传成功,于是我就开始下载
但是。。事实是我自己新建了一个Ftp服务器测试,发现我在上传的时候,这个文件的大小一直是0 (奇怪的是,我自己手动进入那个ftp的文件夹,按一下f5,再看,文件的大小就不是0了,会是当前已经传送了的大小)。。 所以就很奇怪,不能这样做
而且我也没法判断这个文件的大小,因为Dir输出的结果是这样的:
-rw-r--r-- 1 ftp ftp 45056 Jun 10 15:17 123.txt
-rw-r--r-- 1 ftp ftp 0 Jun 10 16:27 AddOn_ModBusTCPIOScanner_4.1.0.1_14.06.06.05.seco
应该没办法判断文件大小是不是0。。
所以我就不知道怎么办了。。
大家有什么办法吗?
2014年06月10日 15点06分 1
level 1
hcx0125 楼主
哎。。cmd模式下的ftp命令实在是功能太少了,写个代码写了快600行了
还不能下载整个文件夹里的所有子文件夹,需要手动判断这是个文件还是文件夹。。光写这个就花了两百行。。
可是因为工作限制,只能用cmd代码。。
2014年06月10日 15点06分 2
1