Board logo

标题: [文件操作] [已解决]批处理如何用FTP命令批量下载文件名部分相同的文件? [打印本页]

作者: flyhorse85    时间: 2010-11-19 17:22     标题: [已解决]批处理如何用FTP命令批量下载文件名部分相同的文件?

如何使用FTP命令批量下载文件名部分相同的文件?
比如在一个文件目录下面有以下文件:
20101119083238.rar
20101119083267.rar
20101119083223.rar
20101119083245.rar
这几个文件的共同点是名字中都有"20101119",如何下载文件名中包含"20101119"的文件?
请教高手如何批量下载,日常生活中需要每天下载只知道日期的文档。

[ 本帖最后由 flyhorse85 于 2010-12-17 23:43 编辑 ]
作者: flyhorse85    时间: 2010-11-19 17:29

我想实现这样一个目的:每天自动到十几个不同的服务器FTP下载自动更新的文档。
而且不知道更新文档的全名,只知道部分不变的文件名。
作者: BillGates    时间: 2010-11-19 17:55

mget *.rar
作者: flyhorse85    时间: 2010-11-19 20:29

不能下载所有类型为RAR的文件,因为这个文件夹中有很多RAR文件,但是我只需要最新的。
作者: andyrave    时间: 2010-11-19 22:19

FTP 命令后 -s:220101119*.rar   ?
作者: BillGates    时间: 2010-11-20 00:16

看看是不是你想要的。
http://blog.csdn.net/ljc007/archive/2010/04/17/5497120.aspx
作者: wuhengsi    时间: 2010-11-20 01:30

你好,楼主,
能不能把FTP下载文件的完整代码贴出来看看,学习下。
等待。。。。
作者: BillGates    时间: 2010-11-20 10:19

人家可是要问别人怎么写…我寒…
作者: flyhorse85    时间: 2010-11-20 17:10

我的方法很笨,首先新建一个rnc18.scr文件,内容如下:
open 10.211.48.18 21
rowspe
r111111
lcd d:\
get /bam/version_a/ftp/export_cfgmml/CFGMML-RNC1545-20101119083238.zip
quit

然后再新建一个.bat文件去调用
作者: wuhengsi    时间: 2010-11-20 21:29

楼主,rnc18.scr 如何写BAT代码调用
可以把BAT调用的代码贴出来让我学习吗?
另外 你有没有测试过?OK的吗?
作者: wuhengsi    时间: 2010-11-20 22:40

你好,楼主我测试了下载代码,是可以下载,但是发生了一个问题
原本有内容的TXT文件,下载后里面没有内容了!什么都没有!空文本!
请指教问题原因是在那里!

rnc18.scr 代码如下:(以下用户名跟密码为假设)
open 151.1.215.23
wusi99
ws368
lcd C:\PutPC
get /wusi99/zsdoc/指示文件.txt
bye
quit

BAT代码如下:
@echo off
ftp -s:"C:\rnc18.scr"

下载原本有内容的TXT文件后内容变空了,,我找不出原因
请各位以及楼住帮忙分析。。。感激不已!!
作者: BillGates    时间: 2010-11-21 00:17

九楼的完全可以批处理自动,你那样达不到你上面说的要求!
@echo off
echo open 10.211.48.18 21>c:\ftp.txt
echo rowspe>>c:\ftp.txt
echo r111111>>c:\ftp.txt
echo lcd d:\>>c:\ftp.txt
echo echo bin>>c:\ftp.txt
echo mget *.*>>c:\ftp.txt
echo quit>>c:\ftp.txt
Start ftp -v -i -s:c:\ftp.txt
自己检查输出的ftp.txt有没有问题,有问题就在echo后的文字加双引。如果不能成功下载就改改ftp命令那个参数。
手机上,打字累啊。
关于FTP的,论坛里大把帖子,善用搜索。

[ 本帖最后由 BillGates 于 2010-11-21 23:26 编辑 ]
作者: flyhorse85    时间: 2010-11-21 11:18     标题: 回复 11楼 的帖子

@echo off
ftp -s:"C:\rnc18.scr"
把引号去掉就可以了。
ftp -s :c\rnc18.scr
作者: flyhorse85    时间: 2010-11-21 11:30     标题: 回复 12楼 的帖子

为什么运行不下去?
而且也没看懂,ftp.txt中有命令吗?
假如我下载的是.rmv 的文件,该段代码可以成功下载吗?
作者: wc726842270    时间: 2010-11-21 14:37     标题: 回复 14楼 的帖子

!!!当然有啊,关于FTP的网上有很多的贴子,由其是上传的,另外能说一下具体的况么,比如,你运行后出现了什么反应?
作者: BillGates    时间: 2010-11-21 18:23

回复十四楼的。
另一个帖子问FTP下载的,他测试成功了,你可以试试。.rmv的话就:
mget *.rmv
作者: BillGates    时间: 2010-11-21 18:25

@echo off
echo open 服务器地址>c:\ftp.txt
echo 用户名>>c:\ftp.txt
echo 密码>>c:\ftp.txt
echo cd文件在服务器的目录>>c:\ftp.txt
echo lcd设定下载文件到本地的文件夹>>c:\ftp.txt
echo bin>>c:\ftp.txt
echo mget *.*>>c:\ftp.txt
echo quit>>c:\ftp.txt
Start ftp -v -i -s:c:\ftp.txt
自己检查输出的ftp.txt有没有问题,有问题就在echo后的文字加双引。如果不能成功下载就改改ftp命令那个参数。
http://bbs.bathome.net/thread-10017-1-1.html
这个帖子测试成功。

[ 本帖最后由 BillGates 于 2010-11-21 23:25 编辑 ]
作者: flyhorse85    时间: 2010-11-22 09:31     标题: 具体要实现的目的

给大家说说我的具体需求:
    我需要经常去20几个服务器去下载最新的系统配置文件,以便提取最新的网络信息。而且不知道最新的配置文件的具体名字,而只是知道部分的名字,一般都是以服务器命+日期+几位没有规律的数字命名。可以以日期去提取,也可以提取最新更新的文件,不过最好可以以日期提取,因为还可能去提取前面某一天的配置文件去查询历史配置。如何可以用批处理命令一次性全部下载所有的配置文件,请高手指教。
作者: Batcher    时间: 2010-11-22 11:56     标题: 回复 18楼 的帖子

请把所有需求更新到顶楼
作者: BillGates    时间: 2010-11-22 12:13

论坛有获取前几天的帖子,天数可以自定。
作者: flyhorse85    时间: 2010-11-23 16:16     标题: 测试通过

用12楼的已经可以下载,前提是知道要下载文件的全称。但是mget命令为什么不能下载*.zip文件,是否需要插件?
还有个疑问是如何下载只知道部分文件名称的文件。
作者: flyhorse85    时间: 2010-11-23 16:17     标题: 测试通过

用12楼的已经可以下载,前提是知道要下载文件的全称。但是mget命令为什么不能下载*.zip文件,是否需要插件?
还有个疑问是如何下载只知道部分文件名称的文件。
作者: BillGates    时间: 2010-12-18 00:24

可以下载*.zip,我这边Ok。应该可以通过对比文件时间来下载。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2