怎样制作自动下载/上传文件的FTP脚本文件

msdos我需要从一个FTP服务器上每分钟下载一个文本文件到一个数据库服务器上。一般来说,大多数的FTP下载软件,象自己用的WS_FTP Pro,有这种自动下载功能。但这次我不想安装、利用任何第三方的FTP客户端程序,而是想通过Windows自带的简单FTP命令来实现这种功能。

下面就是我最后生成一个文本batch文件,你可以copy&paste复制到你的记事本里生成你自己的FTP自动下载命令文件。至于详细的命令解释,可以参考我的英文原文(Make a free auto get/put files schedule with FTP scripts in DOS environment)。

简单解释:

在你的Windows OS 里,移步到你的DOS界面,然后直接敲 FTP,你就可以登录到你的远程FTP服务器。若你想自动运行FTP(包括输入你的FTP服务器信息,登录用户名和密码),可以使用FTP.exe 的”-s:” 选项。

这样,比方你生成一个FTP的登录脚本文件叫FTPSCRIPT.TXT,你就可以在DOS里使用以下命令:

ftp -s:FTPSCRIPT.TXT


在你的那个FTPSCRIPT.TXT文本文件里,可以有以下参考命令(可以按照你自己的需要更改)

open ftp.microsoft.com
anonymous
username@nowhere.com
cd Products
cd Windows
cd Windows95
cd CDRomExtras
cd AdministrationTools
cd ApplicationTools
binary
hash
lcd c:\
get envars.exe
bye

自动运行的脚本文件样本:

如果你也象我一样,需要系统自动运行上述FTP脚本文件,可以将上述的文本文件稍做修改,变成一个可以通过计划Schedule运行的batch自动运行命令文件。于是,我将我的这个FTPSCRIPT.TXT改成有bat后缀名的命令文件,比方叫AUTOFTP.bat 。里面的命令行改成以下文字:

%windir%\system32\ftp.exe -s:”%f0″
goto done
open ftp.microsoft.com
anonymous
username@nowhere.com
cd Products
cd Windows
cd Windows95
cd CDRomExtras
cd AdministrationTools
cd ApplicationTools
binary
hash
lcd c:\
get envars.exe
bye
:done
@echo off
cls
exit

这个 AUTOFTP.bat 文件的好处就是它既可以做batch文件来运行,并且有在命令里将自己作为一个FTP 脚本文件来调用。由于自己在英文原文里已经解释十分清楚了,这里就不再罗嗦了。有什么具体应用问题,敬请留言之。(注意:上述代码是针对Windows 2000/XP/2003环境的)

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.