Bat脚本处理ftp超强案例分析
ii不能传输非文本东西有出入,这是怎么回会事呢。 这是因为,FTP服务器是WINDOWS系统,XP电脑上的bat脚本也是在windows系统上运行的,所以bat在windows系统里用FTP传输文件,不管是用ascii,还是用binary,都是可以的。接下来我们再做一个实验,FTP服务器选centos,再测下ascii传输非文本文件问题。 实例六:用ascii在windows系统与linux系统间传输非文本文件 在RHEL 5.4 64位系统上建立一vsftpd服务器 上面说过redhat默认启用二进制传输,关闭了ascii码传输,所以我们还要修改一下vsftpd的配置文件,修改/etc/vsftpd/vsftpd.conf文件,允许客户端进行ascii传输,并重启vsftpd 把rmb.jpg放到FTP服务器,大家注意下H:\js目录下只有ftp-getascii.bat文件 ftp-getascii.bat文件内容修改如下: 复制代码 代码如下: @echo off set ftpfilename=autoftp.cfg echo open 192.168.145.226 >"%ftpfilename%" echo ftp1 >>"%ftpfilename%" echo redhat >>"%ftpfilename%" echo asc >>"%ftpfilename%" echo lcd h:\js >>"%ftpfilename%" echo get rmb.jpg >>"%ftpfilename%" echo bye >>"%ftpfilename%" ftp -s:"%ftpfilename%" del "%ftpfilename%" 执行ftp-getascii.bat,看结果,rmb.jpg文件有下载到XP电脑里,双击这个文件,发现图像乱码,文件被破坏了,都是ascii码传输惹的祸。 换bin传输,测试一下 修改ftp-getascii.bat,把ascii改给二进制传输 复制代码 代码如下: @echo off set ftpfilename=autoftp.cfg echo open 192.168.145.226 >"%ftpfilename%" echo ftp1 >>"%ftpfilename%" echo redhat >>"%ftpfilename%" echo bin >>"%ftpfilename%" echo lcd h:\js >>"%ftpfilename%" echo get rmb.jpg >>"%ftpfilename%" echo bye >>"%ftpfilename%" ftp -s:"%ftpfilename%" del "%ftpfilename%" 结果,文件正常下载,图像也显示正常。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |