Bat脚本处理ftp超强案例分析

2019-09-19 06:48:33王振洲

在用FTP客户端传输文件时,因为这些软件都做得比较智能化,它可以根据后缀,自动启用传输模式,所以不用担心出问题。

二、实例求证:

环境说明:192.168.133.34上有一FTP服务器端(windows版),FTP用户名为lgh,密码为www.jb51.net。该用户的根目录为D:lgh。里面文件见下图。sql.rar是sql.bat的压缩文件,大家注意看图,我等下会在后面的实例中引用这个文件,把mget,get,prompt,bin,ascii等ftp命令诠释得一清二白。

 

实例一:直接BAT调用FTP命令

ftpbat.bat内容
(***大家建立bat文件不要命名为ftp.bat,执行时会有问题***)

ftp
open 192.168.133.34
lgh
www.jb51.net
get sql.rar
bye

从图上的结果看,bat脚本直接调用xp的FTP命令是不行的,执行时H:>ftp会一直死循环。我这里的XP系统是SP3的,其它版本的,我没有作测试。如果有不同,欢迎大家留言告之。

实例二:用put,get上传,下载单个文件

把XP机器上H:js目录下文件flower.zip上传到FTP服务器
把FTP服务器中的sql.rar文件下载到XP机器上的H:JS目录
ftp-get-put.bat内容如下:

@echo off
set ftpfilename=autoftp.cfg
echo open 192.168.133.34 >"%ftpfilename%"
echo lgh >>"%ftpfilename%"
echo www.liuguohua.com >>"%ftpfilename%"
echo bin >>"%ftpfilename%"
echo lcd h:js >>"%ftpfilename%"
echo get sql.rar >>"%ftpfilename%"
echo put flower.zip >>"%ftpfilename%"
echo bye >>"%ftpfilename%"
ftp -s:"%ftpfilename%"
del "%ftpfilename%"


    我们来看看结果,见下面两张图。从XP系统上看,H盘的JS目录,多了个sql.rar,FTP服务器上的根目录多了个flower.zip,这说明,刚才的脚本完成正常的执行了,达到了预期的目的。

实例三:用put,get上传,下载多个文件

在XP机器上把flower.zip复制一次,改名为flower2.zip
在XP机器上把把第二次实例下载的sql.rar文件删除,以免影响到本次操作
在FTP服务器上把第二次实例上传的flower.zip文件删除,以免影响到本次操作
把XP机器上H:js目录下文件flower.zip 和flower2.zip上传到FTP服务器
ftp-get-put-many.bat内容如下:

@echo off
set ftpfilename=autoftp.cfg
echo open 192.168.133.34 >"%ftpfilename%"
echo lgh >>"%ftpfilename%"
相关文章 大家在看