解决方法:
在没有传输数据时,定时发送NOOP指令,该指令是为了维护连接,目的就是不让FTP SERVER断线,FTP SERVER 接收后不做任何操作。只是返回:
200 Ok. Parameter was ''.
可能是你的分太少了吧,多给点分会有人来的。。。。这个问题我的思路是通过windows的计划任务结合批处理文件
计划任务这个我就不详细说了,网上很多资料。
然后是批处理命令,以下是我在另外一个问题的回答,你可以参考下:
—————————我是传说中的分割线————————————
测试通过。
首先为dos命令下的bat文件:ftp.bat:
@echo off
REM 采用环境变量方式配置文件夹,日志等
set BASE = d:
set DOWNLOAD_PATH = d:\gao
set UPLOAD_PATH = d:\hua
set LOG_PATH = d:\log
set LOG_FILE = d:\log\log.txt
REM 判断目录是否存在。估计目录你早已建好,但是为了完整,还是写上吧。
%BASE%
if not exist %DOWNLOAD_PATH% (
mkdir %DOWNLOAD_PATH%
)
if not exist %UPLOAD_PATH% (
mkdir %UPLOAD_PATH%
)
if not exist %LOG_PATH% (
mkdir %LOG_PATH%
)
REM 程序运行
echo ========================================== >>%LOG_FILE%
set DATET=%date%%time%
echo 程序开始运行,时间:%DATET% >>%LOG_FILE%
cd %DOWNLOAD_PATH%
REM 注意下面这句,其中,download.ftp为下载指令集,注意前面的地址。
ftp -n -s:"d:\download.ftp" >>%LOG_FILE%
echo 本次下载的文件如下:>>%LOG_FILE%
dir /B %DOWNLOAD_PATH\*.* >>%LOG_FILE%
echo 下载操作结束,时间:%DATET% >>%LOG_FILE%
REM 下面是上传,基本类似。
ftp -n -s:"d:\upload.ftp">>%LOG_FILE%
echo 本次上传的文件如下:>>%LOG_FILE%
dir /B %UPLOAD_PATH\*.* >>%LOG_FILE%
echo 上传操作结束,时间:%DATET% >>%LOG_FILE%
echo ============================================ >>%LOG_FILE%
———————再次出现的分割线————————————
以下为下载指令集download.ftp:
open 192.168.1.150
user TEST
123
cd /home/ms/gh/out
prompt off
mget *.*
bye
———————不愿出场的分割线————————————
以下为上传指令集upload.ftp:
open 192.168.1.150
user TEST
123
cd /home/ms/gh/in
prompt off
mput *.*
bye
———————最后谢幕的分割线————————————
以上这些估计可以满足你的要求了。
你可以参考此文件做一定的修改。
WIN2000中FTP上传的功能设置比较单一,功能较少.想达到你的效果,建议安装一个FTP软件,SERVER-U还是不错的,
上网搜一下,下载安装按照要求设置即可
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)