您的位置:首页 > 编程语言 > PHP开发

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

2010-09-02 18:19 591 查看
引:

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

脚本源码(这里“@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(用户信息表)的模样:



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



脚本文件下载:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: