批处理怎么遍历FTP下的文件夹,并下载子目录中的文件

现想要编写一个批处理,实现:遍历FTP下的文件夹,并下载子目录中的文件。
FTP路径:C:\FTP\neexport\neexport_20160815
文件夹neexport_20160815下有很多子文件夹a,b,c,d,怎么下载子文件夹中所有的txt文件啊?

3个回答

利用curl或者wget。例如curl –u name:passwd-s ftp://www.quany.info/a/*.txt

qq_35970323
qq_35970323 能不能帮忙看下,我下面的代码哪里出错了?
大约 4 年之前 回复

我这是Windows下的,想写一个批处理

 @echo off
rem 指定FTP用户名
set ftpUser=njels
rem 指定FTP密码
set ftpPass=njels
rem 指定FTP服务器地址
set ftpIP=192.168.1.1
rem 指定待下载的文件位于FTP服务器的哪个目录
set ftpFolder=neexport/neexport_20160815
rem 指定从FTP下载下来的文件存放到本机哪个目录
set LocalFolder=C:\Users\csq\ftpftp\download

set ftpFile=%temp%/TempFTP.txt
>"%ftpFile%" (
  echo,%ftpUser%
  echo,%ftpPass%
  echo cd %ftpFolder%
  echo lcd %LocalFolder%
  echo bin
  echo mget *.txt
  echo bye
)
for /r %%s in (.) do ( 
 echo %%s
 ftp -v -i -s:"%ftpFile%" %ftpIP%
) 
pause

我想下载neexport_20160815它的子文件夹下所有的txt文件,能不能帮我看下我的代码哪里出错了?图片说明

qq_35970323
qq_35970323 刚访问了你的主页,没看见相关问题啊。
大约 4 年之前 回复
hijack00
hijack00 回复qq_35970323: 我个人主页有
大约 4 年之前 回复
qq_35970323
qq_35970323 回复hijack00我写这个脚本谢了好长时间了,一直不能成功,箱请教你一下,能不能加下你的扣扣,我的扣扣:390772555
大约 4 年之前 回复
hijack00
hijack00 回复qq_35970323: 你的批处理当然只能操作你本机下面的目录啊。所以对于FTP文件夹的处理是借助FTP客户端程序来完成的。所以你才会将那些命令写到一个脚本文件里面去啊。你的思路是对的
大约 4 年之前 回复
qq_35970323
qq_35970323 回复hijack00: 我想请问下,到底能用批处理遍历FTP下的文件夹吗,我想下载其中子目录中的一个固定格式的文件?
大约 4 年之前 回复
hijack00
hijack00 不好意思我搞错了,代码应该没什么问题。确认一下是不是网络的问题,在命令行下交互式是否可以下载文件。或者将ftp -v -i -s:"%ftpFile%" %ftpIP%改成ftp -v -i %ftpIP% << "%ftpFile%" 试试。
大约 4 年之前 回复
hijack00
hijack00 首先,windows下面也有对应的wget和curl,只是一个可执行程序,无需安装。其次,你能不能把你所说的错误信息贴出来。目前来看你的代码至少有个逻辑错误,就是你的cd,lcd,mget命令并没有发送给ftp程序,当然不可能下载成功
大约 4 年之前 回复

我目前的代码只是遍历了C:\FTP下的文件夹,但是我只想遍历C:\FTP\neexport\neexport_20160815下的文件夹,我知道我的cd,lcd,mget命令没有发送给ftp程序,但是不知道怎么修改,能不能指导下我该怎么修改啊,谢谢。图片说明

hijack00
hijack00 你看我上一条的评论,将这几条ftp命令重定向到标准输入看看
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐