5bh1b0zy5b 发表于 2016-6-9 09:27:37

使用bat批处理做ftp自动下载【转】

  
  新建一个bat,随便名字如download.bat,敲入如下代码:
  set ymd=%date:~0,10%
  md “C:\backup\%ymd%”
  cd C:\backup\%ymd%
  @echo off
  echo open 127.0.0.1>ftp.src
  echo username>>ftp.src
  echo password>>ftp.src
  echo cd “/%ymd%/”>>ftp.src
  echo prompt n>>ftp.src
  echo type binary>>ftp.src
  echo runique y>>ftp.src
  echo mget *>>ftp.src
  echo bye>>ftp.src
  ftp -s:ftp.src
  del ftp.src
  解释:
  红色部分用真实的ftp地址,用户名,密码代替。代码解释:

[*]首先在本地新建一个以当天日期为名的文件夹
[*]然后生成一个ftp.src的临时文件,这个文件有ftp操作的步骤,注意,要用另外一个文件存储ftp命令(FTP命令详解)。
[*]使用ftp.src文件链接ftp服务器,开始下载
[*]下载完成,删除临时文件ftp.src
  还有几点需要注意的是,为什么要生成临时文件又删除?其实做成单独的文件也可以,但是这个ftp脚本限制了下载的文件只能存储在当前批处理脚本的路径下,而我希望按每天的日期来分别下载。而ftp命令中并不支持诸如%date:~0,10%这样的环境变量。所以这里就耍了一个小聪明。每天生成当天文件夹和当天脚本->下载好文件->删除脚本。如果你不用日期分割,可以把echo部分抽出来写一个文件。
页: [1]
查看完整版本: 使用bat批处理做ftp自动下载【转】