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  联系我,非常感谢。

目录
相关文章
|
11天前
|
C# Windows
.NET开源免费的Windows快速文件搜索和应用程序启动器
今天大姚给大家分享一款.NET开源(MIT License)、免费、功能强大的Windows快速文件搜索和应用程序启动器:Flow Launcher。
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
1月前
|
存储 安全 数据安全/隐私保护
Windows部署WebDAV服务并映射到本地盘符实现公网访问本地存储文件
Windows部署WebDAV服务并映射到本地盘符实现公网访问本地存储文件
252 0
|
3月前
|
Go Windows
windows安装scoop/annie下载B站等视频
windows安装scoop/annie下载B站等视频
41 0
|
27天前
|
开发框架 数据安全/隐私保护 开发者
HBuilder开发者必备!Windows上传IPA文件的软件分享
HBuilder开发者必备!Windows上传IPA文件的软件分享
21 1
|
2月前
|
存储 安全 Shell
windows 系统 c 盘 .ssh 文件夹里的 known_hosts 文件的作用
windows 系统 c 盘 .ssh 文件夹里的 known_hosts 文件的作用
65 0
|
2月前
|
安全 Shell 网络安全
windows 系统 c 盘 .ssh 文件夹里的 id_rsa 文件的作用
windows 系统 c 盘 .ssh 文件夹里的 id_rsa 文件的作用
36 0
|
2月前
|
安全 算法 网络安全
windows 系统 c 盘 .ssh 文件夹里的 id_rsa.pub 文件的作用
windows 系统 c 盘 .ssh 文件夹里的 id_rsa.pub 文件的作用
39 0
|
8天前
|
Windows
【Windows】 手写脚本更快编辑hosts文件
【Windows】 手写脚本更快编辑hosts文件
9 0
|
1月前
|
Windows
Windows 命令提示符(CMD)操作(一):文件和目录管理
Windows 命令提示符(CMD)操作(一):文件和目录管理
40 0