用DOS批处理实现FTP自动上传、下载、清理文件
功能介绍:自动登录远程主机,并到指定目录下下载文件,下载完成后,检查下载到本地的文件并删除主机上的文件。
程序名称及功能:
getfile.bat:主程序,检查配置目录及调用ftp脚本。
getfile.ftp:ftp运行脚本。
movefile.bat:删除远程主机上的文件。
以下是批处理的具体内容。
@echo off
REM 配置基本盘符,主目录和文件存放目录
set BASE=d:
set BASE_PATH=D:\doc\一卡通\ftp
set LOG_FILE=%BASE_PATH%\ftpgetfile.log
set FLAG_FILE=%BASE_PATH%\tmp.tmp ##因要和另外一个程序通讯,所以用了这个状态标志文件,程序开始时写0进去,
结束时再修改为1。这样另一个程序就可以判断何时文件接收结束,并开始处理文件。
set SAVE_PATH=%BASE_PATH%
set TMP_PATH=%BASE_PATH%\temp
set REMOTE_PATH=/home/ecton/data/download/
REM 程序开始运行
echo =========================================================== >> %LOG_FILE%
set DATET=%date%%time%
echo 程序开始运行,时间:%DATET% >> %LOG_FILE%
%BASE%
if not exist %BASE_PATH% (
mkdir %BASE_PATH%
)
if not exist %SAVE_PATH% (
mkdir %SAVE_PATH%
)
if not exist %TMP_PATH% (
mkdir %TMP_PATH%
)
cd %TMP_PATH%
echo > %FLAG_FILE%
if not exist %SAVE_PATH% (
echo 无法找到标志文件%SAVE_PATH% >> %LOG_FILE%
goto _END
)
ftp -n -s:"%BASE_PATH%\getfile.ftp" >> %LOG_FILE%
echo 本次获得的文件如下:>> %LOG_FILE%
dir /B %TMP_PATH%\S*.edb > %TMP_PATH%\filelist.tmp ##本次接收的文件列表,供movefile.bat删除文件的标识
dir /B %TMP_PATH%\*.edb >> %LOG_FILE%
move /Y %TMP_PATH%\*.edb %SAVE_PATH%\
FOR /F "usebackq delims=" %%i IN (`type filelist.tmp`) DO call %BASE_PATH%\movefile.bat %%i %LOG_FILE% %
REMOTE_PATH%
:_END
echo > %FLAG_FILE%
del %TMP_PATH%\filelist.tmp
set DATET=%date%%time%
echo 程序运行结束,时间:%DATET% >> %LOG_FILE%
echo =========================================================== >> %LOG_FILE%
exit
2.getfile.ftp文件的内容:
open 192.168.0.208
user ecton
huateng
cd /home/ecton/data/download/
prompt off
mget *.edb #也可以添加put、mput文件等其他操作
cd /home/ecton/data/download/pub
mget *.edb
bye
quit
exit
3.movefile.bat文件的内容:
echo open 192.168.0.208 >ftp.txt
echo user ecton huateng >>ftp.txt
echo cd % >>ftp.txt
echo prompt off >>ftp.txt
echo delete % >>ftp.txt ##这里是作删除动作,也可以rename
echo bye >>ftp.txt
echo quit >>ftp.txt
echo exit >>ftp.txt
ftp -n -s:ftp.txt >>%
del ftp.txt
用DOS批处理实现FTP自动上传、下载、清理文件的更多相关文章
- DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具
		
使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...
 - ftp自动上传下载同步工具 免费好用的ftp自动上传下载同步工具
		
有时我们需要定时上传文件到FTP,可大多数FTP工具并不支持定时上传功能,这时我们就需要可以定时ftp上传的工具(服务器管理工具).它是一款功能强大的服务器集成管理器,包含win系统和linux系统的 ...
 - ftp自动上传下载文件脚本
		
FTP自动登录批量下载文件 从ftp服务器192.168.1.60 上的/home/data 到本地的/home/databackup目录 #!/bin/bash ftp -v -n 192.168. ...
 - C# 利用FTP自动下载xml文件后利用 FileSystemWatcher 监控目录下文件变化并自动更新数据库
		
using FtpLib; using System; using System.Collections.Generic; using System.ComponentModel; using Sys ...
 - FTP批量下载数据文件
		
包含ftp的命令脚本,建立临时文件. ::服务器连接信息 set username=root set password=root set ip=xxx.xxx.xxx.xxx set RemoteDi ...
 - 【转】FTP自动上传文件的perl脚本以及配置文件
		
这个perl文件将执行的任务是, 按照指定的文件夹目录,自动将该文件夹下的所有文件上传到指定ftp站点的指定目录下 本应用程序设计的几个基本理念是:工具箱再利用:尽可能利用已有的工具:简化运行步骤:不 ...
 - C#- FTP递归下载文件
		
c# ftp递归下载文件,找来找去这个最好.(打断点,一小处foreach要改成for) /// <summary> /// ftp文件上传.下载操作类 /// </summary& ...
 - Linux使用Shell脚本实现ftp的自动上传下载
		
1. ftp自动登录批量下载文件. #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<<!open 1 ...
 - Linux学习笔记:使用shell脚本实现ftp的自动上传下载
		
在 Linux 下可以利用 Shell 实现 ftp 文件的自动上传和下载,封装至 crontab 更可实现定时调度. 1.ftp自动登录批量下载文件 ##### 从ftp服务器上的/home/dat ...
 
随机推荐
- [转载] 散列表(Hash Table) 从理论到实用(下)
			
转载自: 白话算法(6) 散列表(Hash Table) 从理论到实用(下) [澈丹,我想要个钻戒.][小北,等等吧,等我再修行两年,你把我烧了,舍利子比钻戒值钱.] ——自扯自蛋 无论开发一个程序还 ...
 - SEO站长必备的十大常用搜索引擎高级指令
			
作为一个seo人员,不懂得必要的搜索引擎高级指令,不是一个合格的seo.网站优化技术配合一些搜索引擎高级指令将使得优化工作变得简单.今日就和大家聊聊SEO站长必备的十大常用搜索引擎高级指令的那些事儿. ...
 - MVC 路由模块内核原理
			
.net网站第一次运行的时候 执行global文件的application_start方法 注册路由信息 RouteConfig.RegisterRoutes(RouteTable.Routes) ...
 - [学习笔记] 七步从AngularJS菜鸟到专家(7):Routing [转]
			
这是"AngularJS – 七步从菜鸟到专家"系列的第七篇. 在第一篇,我们展示了如何开始搭建一个AngularaJS应用.在第四.五篇我们讨论了Angular内建的directives,上一篇了解 ...
 - JSP 中文乱码显示处理解决方案
			
来源: <http://blog.csdn.net/joyous/article/details/1504274> JSP 中文乱码显示处理解决方案 分类: 所有 Web前端 J2EE20 ...
 - java 类的关系
			
在面向对象中,类与类之间的关系有泛化,依赖,关联,聚合,组合几种.其中,聚合和组合都属于关联.在具体编程中: 依赖表现为如果A类依赖于B,则B体现为A的局部变量,方法参数或静态方法的调用.eg:cla ...
 - IMP数据到指定的表空间
			
IMP数据到指定的表空间 当我们通过imp导入dmp文件时,默认的情况下,数据会导入到exp出的dmp文件所对应的表空间里面. 比如:通过orcl_dev用户,exp数据,用orcl_test用户im ...
 - [转]moveTaskToback退后台
			
http://blog.csdn.net/dacainiao007/article/details/17352367 方法:public boolean moveTaskToBack(boolean ...
 - 6.5	 为什么Android用Java不用c实现?
			
C/C++过于底层,开发者要花很多的经历对C/C++的语言研究清楚,例如C/C++的内存机制,如果稍不注意,就会忘了开启或者释放.而Java的GC会自动处理这些,省去了很多的时间让开发者专注于自己的业 ...
 - Setup network on centos 7
			
How to Setup network on centos 7 After installing Centos 7, You may not able to connect network ...