DOS批处理实现“自动FTP批量上传文件”功能

引:

应人所求对 代收代发格式转换工具 生成的数据文件,通过手工的方式分别分类上传至服务器中每个用户指定的路径下,虽也可以通过手工的方式一步一步的来完成。但是,当用户比较多(几十或者几百个)那这个重复劳作的工作量也是不小的啊,更是容易出错的。针对上述问题很早的时候我就已经注意到了,也许,是因为自己懒吧,我最受不了机械式重复的工作。所以,很早的时候就编写了一个脚本文件来自动化的完成上述工作,现在就贡献给大家,希望能解决诸位的烦恼。

 

脚本源码(这里“@echo cd udtfile”其中udtfile是数据上传后存放的路径。因我所使用的环境中,所有用户都将上传后的数据保存至这个目录里,所以,这里采用的是“硬编码”的方式。如果,你存放数据文件的方式与我相同,但只是目录名称不同,你直需更改udtfile为你的目录名称即可。如果,你的每个用户保存数据的路径都各不相同,那么这一行语句并不适合与你,脚本还需要进一步的处理,具体如何调整这里就不再叙述了,有机会联系我我们再进一步的来讨论。同时“open 11.227.35.40”访问的FTP服务器,同样存在着上述所说的情况,请根据实际应用的情况来修改代码。)

 

REM 作者:半点闲
REM 日期:2009.8.28 14:19
REM 平台:中文WindowsXP_SP3适用
@CLS
@REM 设字体为绿色
@COLOR E
@ECHO *********************************
@ECHO *       FTP 批量上传脚本        *
@ECHO *                               *
@ECHO *功能说明:                     *
@ECHO *  这个脚本将生成好了的农民粮食 *
@ECHO *直补数据文件分机构自动批量上传 *
@ECHO *到指定FTP服务器远程路径中。    *
@ECHO *                               *
@ECHO *前提条件:                     *
@ECHO *1、user.txt(机构信息)文件必须*
@ECHO *存在。                         *
@ECHO *2、生成好的数据文件与脚本文件在*
@ECHO *同一路径下。                   *
@ECHO *                               *
@ECHO *注意:                          *
@ECHO *  脚本运行后会生成一个日志文件(*
@ECHO *OkFiles.txt),它记录着上传成功的*
@ECHO *文件名称。                     *
@ECHO *********************************
@PAUSE

@ECHO OFF
FOR /F "eol=; tokens=1,2,3 delims=," %%i IN (user.txt) DO (
  (@echo open 11.227.35.40
   @echo %%i
   @echo.
   @echo cd udtfile
   @echo bin)>ftp.txt
   FOR /F %%l IN ('dir /b %%k*.txt') DO (
       (@echo put %%l)>>ftp.txt>>OkFiles.txt
   )
  @echo quit>>ftp.txt
  ftp -i -s:ftp.txt
)
@PAUSE

 

User.txt(用户信息表)的模样:

 

 

要将“脚本文件”与“用户信息”、待上传的数据文件放在同一路径下:

 

 

 

脚本文件下载:脚本文件下载

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值