FTP批处理文件下载多个文件夹

时间:2013-07-15 07:57:04

标签: batch-file ftp

如何通过ftp连接将多个文件夹从一台服务器下载到另一台服务器。 我的名为“backup”的主文件夹包含名为Folder A,Folder B和Folder C的子文件夹。 我的批处理文件如下。

@ftp -i -s:"%~f0"&GOTO:EOF
open myserver
myid
mypw
hash
bin

lcd D:\Users\Desktop\test   
#cd smsbackup/ 
cd backup/ #my main folder location
mget *

当我运行上面的脚本时,它显示找不到文件。所以,我要做的就是为每个文件夹编写脚本。我写下来的时候很有用。

@ftp -i -s:"%~f0"&GOTO:EOF
open myserver
myid
mypw
hash
bin

lcd D:\Users\Desktop\test   
#cd smsbackup/ 
cd FolderA/ #my main folder location
mget *

...并将FolderB和FolderC替换为其他脚本。

可以在单个批处理文件中下载多个文件夹吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以先下载文件夹列表,然后在单独的ftp会话中迭代列表。

运行第一个将下载文件夹列表的ftp脚本

open myserver
myid
mypw
cd backup
mls * ls.txt
quit

然后使用ls.txt的内容动态构建第二个ftp脚本,类似这样......

copy ftp.txt ftp2.txt
for /f "tokens=*" %%a in (ls.txt) do (
  echo cd %%a >>ftp2.txt
  echo mget * >>ftp2.txt
  echo cd .. >>ftp2.txt
)