mahonglin123456 发表于 2015-5-27 12:48:09

批量下载FTP上的文件(转)

  店铺终端每天都通过前台销售系统把销售数据传到公司指定的FTP服务器上。虽然可以使用客户端软件从FTP上批量下载文件,但是此类软件基本上都需要手工进行操作,这对于我们公司的情况,每时每刻都会有店铺的销售数据上传,这样的话手工进行下载就显得过于烦索。于是便想到了用批处理结合计划任务在指定的时间段下载文件的方法。
  首先,新建立一个文本文件,命名为“FTPDownloadFiles.txt”,具体内容如下:
  username                                                 //ftp的用户名
  password                                                 //ftp的密码
  cd Data/Day                                          //文件所在的FTP路径,第一个目录前没有“/”
  prompt                                                    //下载文件时没有下载确认提示
  mget *.*                                                //下载指定目录下所有文件
  mdelete *.*                                             //下载完成后删除所有文件
  quit                                                      //退出FTP状态
  之所有用mget和mdelete的原因是,get和delete二条命令只以下载单个文件且需要指定确定的文件名,不能使用通配符;如果不使用prompt,每下载一个文件时都需要得到确认才能下载。
  然后,再新建一个文本文件,命名为“FTPDownload.bat”,其内容如下:
  echo off
ftp -s:D:\我的文档\批处理命令\FTPDownloadFiles.txt 127.0.0.1    //这里可以把127.0.0.1换成FTP服务器的IP地址或者域名;“FTPDownloadFiles.txt”前需要加上文件所在的路径,这里需要换成自己的文件路径;“-s”是意思是依次执行文本文件里的ftp命令
  d:                                                            //由于使用批处理命令后,FTP服务器上的文件全部被下载到批处理所有的文件夹下,所以需要把下载过来的文件移动到指定的文件夹下,这里的指定文件夹是C:\POS
  cd 我的文档
  cd 批处理命令
  copy *.zip c:\pos                                    //由于店铺传上来的文件都是ZIP文件,所以这里只复制这些文件,当然也可以用通配符*.*把所有文件都复制过去
  del *.zip                                                //复制后需要把所有的文件全部删除
  echo on
  exit
  保存后,批处理文件就制作完成了。下一步就是把这个批处理文件加到计划任务里,每隔一段时间就执行一下。我自己的设置为30分钟下载一次。
页: [1]
查看完整版本: 批量下载FTP上的文件(转)