Windows7中使用Task Scheduler调用WinScp批处理实现上传下载文件

简介: 上一个随笔中我们提到了在Windows 7操作系统中配置ftp服务器并通过WinScp客户端来访问它,这样就可以方便的上传下载文件了。现在又有新的问题,我们发现如果项目中的文件很多,成百上千个文件,即使WinScp提供方便的文件拖拽功能,还是发现很繁杂。

上一个随笔中我们提到了在Windows 7操作系统中配置ftp服务器并通过WinScp客户端来访问它,这样就可以方便的上传下载文件了。现在又有新的问题,我们发现如果项目中的文件很多,成百上千个文件,即使WinScp提供方便的文件拖拽功能,还是发现很繁杂。也许你会想到在dos中使用move命令,但是这个包含了cmd,cd,move等好几个命令,也是很费时间的。我们试图找到一种自动执行的程序,每隔一段时间来执行一次上传下载,这样我们的工作就很轻松了。这一次我们将使用dos命令做成bat文件,然后使用Task Scheduler调度bat来完成这个机械的,呆板的任务。感慨一下,只要我们想得到的,机器都能做得到!!!

批量上传

  1. 通常我们运行dos命令是首先点击开始-运行,输入cmd进入dos界面,首先要进入WinScp.exe的安装路径才能使用命令来调用它,否则会提示相关的 命令或参数不可识别。这个进入的过程就非常简单了,键入cd D:\InstallFile,键入回车,键入D:就进入这个路径了,
    因此我们需要使用命令
    cd D:\InstallFile
    D:
    这里请教高手为何要再次输入D:,键入回车才会进入我想要进入的目录呢?
  2. 输入命令从本地上传文件到ftp服务器,这个命令也是从客户的服务器上看到的,在网上查还没有找到相关的信息。最后全部的命令如下:
     
       
    cd D:\InstallFile
    D:
    winscp421.exe
    / console / command
      " option batch continue "
      " option confirm off " " open ftp://ftpuser1: ******@127.0.0.1:21 "
      " option transfer binary " " put D:\Documents\Coaching\English\*.txt /Newfolder/ "
      " exit "

    这里为了方便理解,一一解释。
    winscp421.exe /console /command     ::这个就是命令名
     "option batch continue"          ::这个默认批处理  
     "option confirm off"             ::这个是避免提示
    "open ftp://ftpuser1: ******@127.0.0.1:21"  ::这个是要访问的服务器,这里我访问本机上的ftp,使用用户名ftpuser1,密码******
    "option transfer binary"   ::这个使用二进制格式传送
    "put D:\Documents\Coaching\English\*.txt /Newfolder/" ::这个从本机文件夹中上传所有的txt文件,上传到服务器Newfolder文件夹中,注意这些内容放在一个参数中
     "exit"                     ::执行完命令后退出
  3. 为了截图我们去掉最后一个参数"exit”,将上面的文本复制到txt文件中,修改后缀为UploadFiles.bat,点击运行,就可以看到运行结果了如下图1。如图可以看到每个文件的名字,大小,传输速度等信息
    img_b2cab09f00f5617288dc7d791ac123b4.png
    图1
    这样我们在本地路径内就可以看到文件了如图2,全是从网上找到英语学习资料
    img_fe475d5f81288ed913e5eed93260e866.png
    图2

    

 

批量下载

批量下载和上面的命令刚好相反,只需要修改命令行就可以了,代码如下

cd D:\InstallFile

D:

winscp421.exe /console /command "option batch continue" "option confirm off" "open ftp://ftpuser1:******@127.0.0.1:21" "option transfer binary" "get /Newfolder/*.txt D:\Documents\DownLoad\" "exit"
从代码里可以看到我们将服务器中Newfolder文件夹下的所有txt文件下载到D:\Documents\DownLoad,同样将上面的文本保存为DownloadFiles.bat,点击运行,运行界面如下图3
img_e297827c129f1be4eef68e880b3c4433.png

设置环境变量
为了找到可执行程序,上面命令开头都添加了语句cd D:\InstallFile D:,我们也可以添加一个环境变量来保存路径,这样就可以省略这两句。

  1. 右击Computer,点击Properties,进入Windows系统界面,点击Advance System Setting如图4
    img_2f64ae6dd4142126484e4202fe8bc654.png
    图4
  2. 点击Enviorment Variables,进入环境,在User Variable中双击Path,在最后添加新的变量指向WinScp.exe如图5
    img_d22406c23569243874fe8399182597e0.png
    图5
  3. 这样设置之后就可以修改UploadFiles.bat和DownloadFiles.bat文件,删除cd D:\InstallFile D:这两句。做java的对这个应该很熟悉。

       

添加Windows任务
现在已经很方便了,只要点击bat文件就能实现上传下载,但是还是觉得很啰嗦,于是我们需要将这两个bat文件添加到Task Scheduler中,设置schedule让他们自己运行。

  1. 右击Computer,点击Manage,打开Computer Management,如图6
    img_e38814904bf7f4bae6320ac39dad5a32.png
    图6
  2. 右击Task Scheduler,点击Create Basic Task,打开Create Basic Task Wizard界面,输入task 的名字,如图7
    img_7f6631695ed94d6d9d9e2d3f2ce7a38a.png
    图7
  3. 点击Next进入Trigger界面,保持默认设置每天运行,如图8
    img_13edf3491c5d599b621c490098b568cc.png
    图8
  4. 点击Next,默认Start a programe,如图9
    img_ddaae7fa7bb98732aa9b0dbf3ade29d2.png
    图9
  5. 点击Next,进入Start a Program界面,选中我们刚刚生成的bat文件如图10
    img_362b864460920dd86b0335968783c943.png
    图10
  6. 点击Next,点击Finish完成之后再Task Scheduler Library中就可以看到我们新建的task。如图11
    img_b4cd0234b67e31dd560785f9ba6bc710.png
    图11
  7. 双击设置运行属性,点击Triggers,设置每5分钟运行一次,如图12
    img_2423db0e47f1c5667c77cdf4038abf1d.png
    图12

    至此大功告成,每隔5分钟我们就可以看到弹出一个黑色dos对话框,然后迅速的消失,这就证明我们设置成功了,程序在按照设置运行,同时查看相应的目录可以查看上传的文件。同时也可以把DownloadFiles.bat也添加到Windows任务中。当下次有这种简单的但是量多的复制粘贴任务的时候就可以用到这个东西了,省事啊。




作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

目录
相关文章
|
2月前
|
NoSQL Redis 数据安全/隐私保护
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
文章提供了Redis最流行的图形化界面工具Another Redis Desktop Manager的下载及使用教程,包括如何下载、解压、连接Redis服务器以及使用控制台和查看数据类型详细信息。
167 6
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
|
2月前
|
NoSQL Redis 数据库
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
文章提供了Redis图形化界面工具的下载及使用教程,包括如何连接本地Redis服务器、操作键值对、查看日志和使用命令行等功能。
164 0
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
|
3月前
|
存储 UED Windows
Windows服务器上大量文件迁移方案
Windows服务器上大量文件迁移方案
186 1
|
3月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
12天前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
2月前
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
60 2
|
2月前
|
存储 开发框架 .NET
Windows IIS中asp的global.asa全局配置文件使用说明
Windows IIS中asp的global.asa全局配置文件使用说明
42 1
|
2月前
|
Java Windows
如何在windows上运行jar包/JAR文件 如何在cmd上运行 jar包 保姆级教程 超详细
本文提供了一个详细的教程,解释了如何在Windows操作系统的命令提示符(cmd)中运行JAR文件。
1086 1
|
2月前
|
NoSQL Redis 数据库
Redis Windows版下载,带安装包
文章提供了Windows版Redis的下载和安装指南,包括如何解压、启动Redis服务以及连接到Redis数据库。
983 0
Redis Windows版下载,带安装包
|
4月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
141 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据