Board logo

标题: [FTP] 批处理下载FTP服务器上某个目录下的文件 [打印本页]

作者: HAT    时间: 2011-5-27 01:58     标题: 批处理下载FTP服务器上某个目录下的文件

本代码以下载FTP服务器上某个目录下的所有文件为例。

如果需要下载某个目录下的.txt类型的所有文件,请把
mget *.*
改成
mget *.txt

如果需要下载某个目录下的某一个文件a.txt,请把
mget *.*
改成
get a.txt
  1. @echo off
  2. rem 指定FTP用户名
  3. set ftpUser=FTPUSERNAME
  4. rem 指定FTP密码
  5. set ftpPass=FTPPASSWORD
  6. rem 指定FTP服务器地址
  7. set ftpIP=192.168.0.2
  8. rem 指定待下载的文件位于FTP服务器的哪个目录
  9. set ftpFolder=/SharedFile/Log
  10. rem 指定从FTP下载下来的文件存放到本机哪个目录
  11. set LocalFolder=C:\temp
  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 *.*
  20.     echo bye
  21. )
  22. start ftp -v -i -s:"%ftpFile%" %ftpIP%
复制代码
首发:http://blog.csdn.net/ljc007/archive/2010/04/17/5496995.aspx
作者: xslxslxsl    时间: 2011-8-26 21:41

非常有用的哦,学习了,但是还没有测试哦
作者: zaixinxiangnian    时间: 2011-8-27 16:11

收藏了,,不过没有看懂怎么执行的
作者: dawei124578    时间: 2011-8-27 18:16

留脚印,以后用得上
作者: voanian    时间: 2011-8-27 21:24

我要下载的目录会经常变,比如LocalFolder=data1/on/8awx/e8/00/54,我需要经常变化路径"54",有可能是00,01,02,03...99等等... 请问如何实现?希望在运行窗口可以有提示让手动输入最后一个目录~
如下:@echo off
cls
echo open 10.90.248.164>c:\ftp.txt
echo usrtst01>>c:\ftp.txt
echo usr01>>c:\ftp.txt
echo cd /data1/on/9x6000/8awx/e8/00/63>>c:\ftp.txt
echo lcd D:\Test>>c:\ftp.txt
echo bin>>c:\ftp.txt
echo mget *.gls>>c:\ftp.txt
echo -----正在下载,请稍后...
echo quit>>c:\ftp.txt
Start ftp -v -i -s:"c:\ftp.txt"
set /p i="LotID:"
copy *.gls %i%
copy *.xls D:\Test\Data
del s *.gls *.lot *.xls
我每次下载之前都需要进入到bat里面编辑,很麻烦,还得手动输入“LotID”(实际输入的是63.xls=63,因为我要生成的是.xls文件),能不能有一种连接字符串的方法直接输入一次63,即可达到更改下载目录和输入63.xls的方法啊?
作者: voanian    时间: 2011-8-27 21:25

回复 5# voanian


    有人能帮忙吗?
作者: Batcher    时间: 2011-8-27 21:28

回复 5# voanian


建议单独发帖提问
作者: voanian    时间: 2011-8-27 21:33

回复 7# Batcher


    我好像没权限,不知道怎么回事,Batch老师,你能帮忙看一下吗?
作者: Batcher    时间: 2011-8-27 21:40

回复 8# voanian


代码咨询&讨论版块试试?
作者: voanian    时间: 2011-8-27 21:42

回复 1# HAT


    为什么我用你的代码,运行后只能下载最上层目录下的一个文件啊,下载不了目标路径下的文件》
如/data1/d/df/00,我只能下d目录下的一个文件。怎么回事呢:
作者: voanian    时间: 2011-8-27 21:46

解决了,哈哈`~
作者: pplive517    时间: 2011-8-29 10:05

挺有用处的
作者: flaven    时间: 2013-1-9 21:58

主要是mget命令的使用,以及隐去确认

但是这个存在的一个问题是不能下载无扩展名的文件




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