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

转载 2018年04月16日 14:26:16

批量上传

  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。如图可以看到每个文件的名字,大小,传输速度等信息

    图1
    这样我们在本地路径内就可以看到文件了如图2,全是从网上找到英语学习资料

    图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

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

  1. 右击Computer,点击Properties,进入Windows系统界面,点击Advance System Setting如图4

    图4

  2. 点击Enviorment Variables,进入环境,在User Variable中双击Path,在最后添加新的变量指向WinScp.exe如图5

    图5

  3. 这样设置之后就可以修改UploadFiles.bat和DownloadFiles.bat文件,删除cd D:\InstallFile D:这两句。做java的对这个应该很熟悉。

       

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

  1. 右击Computer,点击Manage,打开Computer Management,如图6

    图6

  2. 右击Task Scheduler,点击Create Basic Task,打开Create Basic Task Wizard界面,输入task 的名字,如图7

    图7

  3. 点击Next进入Trigger界面,保持默认设置每天运行,如图8

    图8

  4. 点击Next,默认Start a programe,如图9

    图9

  5. 点击Next,进入Start a Program界面,选中我们刚刚生成的bat文件如图10

    图10

  6. 点击Next,点击Finish完成之后再Task Scheduler Library中就可以看到我们新建的task。如图11

    图11

  7. 双击设置运行属性,点击Triggers,设置每5分钟运行一次,如图12

    图12

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


        </div>

批处理中调用 WinSCP 命令行上传文件

@echo off setlocal enabledelayedexpansion set ID=AY47C010 REM 设定文件的路径 set SHELL_DIR=H:\IDE\e...
  • LouGnib
  • LouGnib
  • 2012-10-29 15:38:58
  • 7492

通过批处理脚本来创建task scheduler

查看该命令语法,请单击以下命令: schtasks create 创建新的计划任务。 语法 schtasks /create /tn TaskName /tr TaskRun /s...
  • u012673091
  • u012673091
  • 2014-08-11 14:34:22
  • 360

用批处理命令实现FTP文件的自动传输

  • 2009年11月10日 22:09
  • 44KB
  • 下载

解决 服务器vsftpd安装完成后,用winscp不能上传和下载文件的问题

需要修改vsftpd配置文件,配置文件默认是不允许上传下载和修改的 sudo vi /etc/vsftpd.conf 查看配置文件里面的注释,将你需要的功能的注释去掉(上传下载功能都被注视...
  • zhczyx
  • zhczyx
  • 2016-09-21 16:09:01
  • 892

task scheduler 的简单使用

 前一段时间我需要用windows的task scheduler来每隔5分钟运行我的脚本,显示远程登录到windos上的用户IP,脚本虽然写好了,但是task scheduler的设置一直没有设好,所...
  • lantianjialiang
  • lantianjialiang
  • 2008-11-04 16:02:00
  • 3512

bat来批处理WinScp的命令行内容

今天,想使用:.bat来批处理WinScp的命令行内容,想比较全自动些,但遇到问题: http://zhidao.baidu.com/question/490358548.html?oldq=1 ...
  • linjf520
  • linjf520
  • 2012-10-25 02:02:36
  • 4058

WinSCP自动执行脚本

from : http://www.cnblogs.com/binw/p/4065607.html我们经常使用WinSCP工具通过sftp协议上传获取文件,本文描述通过bat批量处理文件。首先,我们打...
  • jgmydsai
  • jgmydsai
  • 2016-11-10 13:06:53
  • 3610

使用winSCP下载和上传文件到linux

 我们的开发机是Windows,服务器是Linux时,如何在windows操作系统和linux操作系统之间进行文件传输呢?大部分使用ScureCRT或者putty远程登录,使用scp、wget等...
  • u010098159
  • u010098159
  • 2016-01-27 11:01:03
  • 762

TaskScheduler原理解析

一、TaskScheduler原理解密 1.DAGScheduler在提交TaskSet给底层调度器的时候是面向接口TaskScheduler的,这符合面向对象中依赖抽象而不依赖的原则,带来底层资...
  • Full_Stack_delp
  • Full_Stack_delp
  • 2017-06-05 19:50:16
  • 616

Windows Task Scheduler的使用

Introduction , Installation...
  • Joey_ZengChen
  • Joey_ZengChen
  • 2008-02-21 22:22:00
  • 8276
收藏助手
不良信息举报
您举报文章:使用Task Scheduler调用WinScp批处理实现上传下载文件
举报原因:
原因补充:

(最多只允许输入30个字)