位置: 编程技术 - 正文

使用FTP下载目录,即FTP命令批量自动下载的bat文件(ftp下载怎么用)

编辑:rootadmin
FTP不支持目录的下载,不过FTP命令提供了mget命令,允许多文件下载,但每下载一个文件都需要确认,不能自动完成。本文主要介绍使用批处理,结合FTP的相关命令来实现批量文件的下载,以便达到目录下载的目的。

  大致想法如下:

ftp -s:filename hosts >result.txt 执行脚本,并将结果定向输出到result.txt脚本内容,如cd mydirlsbye可以将mydir命令列出然后使用批处理分析result.txt从 Opening ASCII mode data connection for file list.的下一行开始算,直到 Transfer complete都是要下载的内容然后用批处理加ftp脚本,使用get命令逐个下载

推荐整理分享使用FTP下载目录,即FTP命令批量自动下载的bat文件(ftp下载怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ftp下载的文件在哪个目录,ftp下载的文件在哪个目录,ftp 下载整个目录,ftp下载文件到本地指定路径,ftp下载目录下所有文件及文件夹内(递归),ftp下载地址怎么用,ftp下载目录下所有文件及文件夹内(递归),ftp下载目录下所有文件及文件夹内(递归),内容如对您有帮助,希望把文章链接给更多的朋友!

  但实际过程中发现,在FTP脚本中使用get有问题,提示参数错误,无法使用。

  查看了ftp的帮助ftp -?

G:>ftp -?Transfers files to and from a computer running an FTP server service(sometimes called a daemon). Ftp can be used interactively.FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host] -v Suppresses display of remote server responses. -n Suppresses auto-login upon initial connection. -i Turns off interactive prompting during multiple file transfers. -d Enables debugging. -g Disables filename globbing (see GLOB command). -s:filename Specifies a text file containing FTP commands; the commands will automatically run after FTP starts. -a Use any local interface when binding data connection. -A login as anonymous. -w:buffersize Overrides the default transfer buffer size of . host Specifies the host name or IP address of the remote host to connect to.Notes: - mget and mput commands take y/n/q for yes/no/quit. - Use Control-C to abort commands.

发现 -i 参数可以去除mget的提示,经过测试,实现了如下脚本(使用了匿名登入,如果非匿名,可以修改登入脚本):

echo cd autoruns>ftp.txtecho mget *>>ftp.txtecho bye>>ftp.txtftp -i -A -s:ftp.txt .1..

  不过,这只是下载了目录中的文件,如果有子目录,那还需要用dir命令输出,并转向输出到文本,用find来提取目录,如:

echo cd autoruns>ftp.txtecho dir>>ftp.txtecho bye>>ftp.txtftp -A -s:ftp.txt .1.. |find "<DIR>">result.txtfor /f "tokens=2,3*" %%i in (result.txt) do echo %%k

  如有子文件夹,那就要深入编写了。

  经过编写测试,实现如下脚本,运行环境WINXP SP2,运行通过,未载其它系统上测试过:

1、主要脚本ftpget.bat,更改前4个变量的相关信息,该脚本调用makeTree.bat,请参见2

rem FTP服务器地址set host=.1..rem FTP登入名,如果匿名不用改set user=anonymousrem FTP登入密码,如果匿名不用改set pass=rem 需要下载的FTP目录,如果下载子目录以分格set dirname=目录1子目录set homedir=%cd%rem 生成FTP目录结构del tree.txtstart /w cmd /c makeTree %dirname% 0del result*.txtfor /f "delims=/" %%i in (tree.txt) do (rem 获取dirname的所有文件rem =============================cd %homedir%md %%icd /d %%iecho %user%>ftp.txtecho %pass%>>ftp.txtecho cd %%i>>ftp.txtrem mget *.* 下载所有文件,但不能下载无扩展名的文件;rem 如果使用mget * 可以下载所有文件,但会把子目录的文件也下载过来echo mget *.*>>ftp.txtecho bye>>ftp.txtftp -i -A -s:ftp.txt %host%del ftp.txtrem ==============================)cd %homedir%del tree.txt使用FTP下载目录,即FTP命令批量自动下载的bat文件(ftp下载怎么用)

2、maketree.bat,生成FTP目录树

rem 生成FTP目录结构rem 调用方法 maketree dir1dir2 n (n>=1)rem %1 == dir1dir2rem %2 == nset /a treetime=%2+1echo %1 >>tree.txtecho %user% >ftp%treetime%.txtecho %pass% >>ftp%treetime%.txtecho cd %1 >>ftp%treetime%.txtecho dir >>ftp%treetime%.txtecho bye >>ftp%treetime%.txtftp -A -s:ftp%treetime%.txt %host% |find "<DIR>">result%treetime%.txtfor /f "tokens=2,3*" %%i in (result%treetime%.txt) do (start /w cmd /c Maketree.bat %1%%k %treetime%)del result%treetime%.txtdel ftp%treetime%.txt

  虽然已经实现,但仍然有小问题,就是mget *.* 不能下载无扩展名的程序;如果使用mget * 可以下载所有文件,但会把子目录的文件也下载过来。get在FTP脚本中出错也不知为何。

相关信息参考: 使用FTP 批处理脚本,Ftp 子命令

用DOS命令判断磁盘分区是否为NTFS格式 一同事问起,如何使用命令判断磁盘是否是NTFS格式,以便进行进一步执行相关命令操作,如转换磁盘格式或设置文件/文件夹安全权限。第一反应,可

不错的dos批处理命令详解第1/2页 一.简单批处理内部命令简介1.Echo命令打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo命令将显示当前回显设置。语法echo[{on│off}][m

学习使用批处理文件的意义第1/2页 后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它

标签: ftp下载怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/371811.html 转载请保留说明!

上一篇:批处理程序中的“多线程”处理代码(批处理命令是什么语言)

下一篇:用DOS命令判断磁盘分区是否为NTFS格式(dos命令检测硬盘坏道)

  • 增值税专用发票使用规定 最新
  • 个人销售二手车要交增值税吗
  • 库存生产用钢材属于资产吗
  • 资质费用是什么意思
  • 未认证的发票如何作废
  • 公司基本户可以转私人账户吗
  • 收取租车押金怎么做会计分录
  • 什么情况下要交个人所得纳税
  • 电子税务局怎么下载电子发票
  • 增值税专用发票和普通发票的区别
  • 公益性捐赠可以结转几个年度
  • 应付账款多计怎么处理
  • 货运代理公司排名前十
  • 员工内部跑步活动费用怎么做分录?
  • 金穗开发票时怎样添加商品?
  • 餐饮企业收到现金抵用券会计分录
  • 出口退税率为0算免税吗
  • 以现金形式发放的员工餐费补贴,可并入职工福利费
  • 股权转让收益算利润吗
  • 学校的房子归哪里管
  • 小微企业差旅费可以税前扣除吗
  • 经营用的固定资产
  • 贷款本金余额具体是什么意思
  • 企业可以用当月的进项票抵扣上月的销项吗?
  • 增值税未抵扣进项税
  • ukey抄报税全流程视频教程
  • 产值和营业收入差距大
  • 评估价格是按原值还是净值
  • 代理买卖证券款是经纪业务费用吗
  • 年度中间适用的预扣率高于全年综合所得年适用税率
  • 总部资产的减值有什么特点
  • 超过认证期的发票怎么办
  • 会计中的计算公式
  • 池塘里的水结冰了
  • php十进制转二进制算法
  • android应用程序开发语言
  • 公章的法律效力范围
  • yolov3模型大小是多少
  • discuzq是个做什么
  • 企业购买的结构性存款怎样做账
  • 一般纳税人进项大于销项账务处理
  • mongodb修改命令
  • 发票未到已付款怎么入账
  • 母公司吸收合并全资子公司
  • 成本核算需要哪些单据
  • 商品进销差价是流动资产吗
  • 只有收据没有发票怎么入账
  • 跨月报销的算当月还是上个月的
  • 社保阶段性减免范围
  • 库存现金管理是财务分析的吗
  • 设备丢失查找
  • 没有关联企业怎么选不了否
  • 完美解决MySQL通过localhost无法连接数据库的问题
  • 喝了阿胶补血口服液嗜睡
  • windows8触摸屏手势设置
  • Ubuntu操作系统安装步骤
  • agentctl.dll
  • win10多屏设置方法
  • shwiconem.exe - shwiconem是什么进程 有什么用
  • pop3是什么意思中文
  • win7系统怎么更改存储位置
  • ie 无法打开
  • win8系统自带浏览器
  • js的上传文件
  • Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
  • 九九乘法表vb
  • 用git打更新包的代码
  • k-means聚类算法例题
  • jquery 选择
  • jquery和css的区别
  • android edittext被系统键盘遮挡
  • css图片样式网站
  • 同一个页面
  • js函数的使用规则
  • Python连接MySQL并使用fetchall()方法过滤特殊字符
  • 价税分离计算公式
  • 济南保安证查询系统
  • 广西小学成绩查询入口官网
  • 一般纳税人增值税怎么算
  • 银元面值有哪些种类
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设