找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28747|回复: 9

[文件操作] 【已解决】批处理如何间歇性地从FTP上下载固定日期格式的文件

[复制链接]
发表于 2016-8-24 14:12:23 | 显示全部楼层 |阅读模式
需要编写一个批处理文件:从FTP上定时下载带有固定日期格式的文件:
文件夹路径:C:\FTP\neexport
该路径下又有多个带有当天日期的文件夹:
该文件夹中有很多文件夹,需要遍历此文件夹中的内容,获取需要的文件:

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2016-8-24 14:22:08 | 显示全部楼层
A20160815.0000+0800-0015+0800_NJHSS04FE01BHW.xml.gz
A20160815.0015+0800-0030+0800_NJHSS04FE01BHW.xml.gz
A20160815.0030+0800-0045+0800_NJHSS04FE01BHW.xml.gz
这个文件是以当天日期命名,并且15分钟生成一个这类文件,我需要定时从FTP中将这类文件下载下来,这个批处理文件怎么写啊,我不会遍历这个文件夹并判断去取这个固定日期格式文件。
 楼主| 发表于 2016-8-24 15:56:39 | 显示全部楼层
  1. @echo off
  2. rem 指定FTP用户名
  3. set ftpUser=njels
  4. rem 指定FTP密码
  5. set ftpPass=njels
  6. rem 指定FTP服务器地址
  7. set ftpIP=192.168.1.1
  8. rem 指定待下载的文件位于FTP服务器的哪个目录
  9. set ftpFolder=C:\FTP\neexport\neexport_20160815
  10. rem 指定从FTP下载下来的文件存放到本机哪个目录
  11. set LocalFolder=C:\Users\csq\ftpftp\download

  12. set ftpFile=%temp%/TempFTP.txt
  13. >"%ftpFile%" (
  14.   echo,%ftpUser%
  15.   echo,%ftpPass%
  16.   echo cd "%ftpFolder%"
  17.   echo lcd "%LocalFolder%"
  18.   echo bin
  19.   echo mget *.txt
  20.   echo bye
  21. )
  22. cd %ftpFolder%
  23. for /R %%s in () do (
  24. ftp -v -i -s:"%ftpFile%" %ftpIP%
  25. )
  26. pause
复制代码
现在的代码只能遍历FTP文件夹下的txt文件,为什么不是获取C:\FTP\neexport\neexport_20160815下的文件,求大神指教!!!
发表于 2016-8-24 18:03:40 | 显示全部楼层
回复 3# 小七太好七


C:\FTP\neexport\neexport_20160815
这是Windows的路径格式,FTP路径不是这样的。
你可以用命令行或者FTP客户端软件登陆到FTP服务器上看看。
 楼主| 发表于 2016-8-25 11:42:13 | 显示全部楼层
回复 4# GNU
我用cmd敲的指令,路径格式是: /neexport/neexport_20160815    这个对吗?
我想下载:C:\FTP\neexport\neexport_20160815\NJHSS04FE01BHW\neexport_20160824.txt   这个txt文件,但是我的代码并没有遍历文件夹neexport_20160815下的所有文件夹,
能不能麻烦你帮我看下我的遍历代码哪里出错了啊?

评分

参与人数 1PB -4 收起 理由
pcl_test -4 勿重复贴码

查看全部评分

发表于 2016-8-25 13:06:22 | 显示全部楼层
回复 5# 小七太好七


    你这个for循环确实遍历了目录,但是它没有传递任何东西给ftp命令啊。
 楼主| 发表于 2016-8-25 13:36:26 | 显示全部楼层
回复 6# GNU
所以想请问下,怎么修改啊?查了好多资料也不行,这个for循环该怎么写啊?
发表于 2016-8-26 14:12:23 | 显示全部楼层
回复 7# 小七太好七


FTP命令本身不支持下载子目录,用BAT来实现比较麻烦。建议考虑用 lftp 试试。
http://www.cnblogs.com/GDLMO/articles/2330529.html
 楼主| 发表于 2016-8-29 11:56:11 | 显示全部楼层
回复 8# GNU
可是要求只能通过FTP来操作,但还是非常感谢你的建议!
发表于 2016-8-29 12:45:31 | 显示全部楼层
回复 9# 小七太好七


http://bbs.bathome.net/thread-12524-1-1.html
可以参考这个整站下载的代码,可以用这个思路遍历子目录。

评分

参与人数 1技术 +1 收起 理由
小七太好七 + 1 谢谢你的解答,虽然我的问题还没解决。。。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 13:20 , Processed in 0.022454 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表