win下自动sftp脚本定时下载文件
缘起一个BA与客户交流的软件。但因为数据不能通过系统直连的方式进行获取。
对方只提供每天一份全量数据到指定文件夹下,我方自动通过sftp的方式去拉取。
一个只有简单几行的操作,想必肯定是不可能需写程序去实现的吧。
第一时间就想到了windows的定时任务去执行一个脚本就好。
找来找去,网上一堆的ftp脚本。sftp的少得可怜。
后面找到了此文:https://www.cnblogs.com/binw/p/4065607.html
但因为不懂winscp。里面的代码也不大懂。
折腾一天后,发现putty可以sftp,
写出了以下脚本
psftp -P 2122 username@122.135.172.119 -pw awUV2kCU
cd /upload_ba
lcd D:\xhx_ba_csv
mget *.csv
但有一个问题,执行第一行后就进入psftp程序了,并没有再执行下面的代码。
后来又只能返回去看winscp了,折腾一两小时后,终于成功了。
CD /d D:\WinSCP
#定义要获取的文件名
set filename=T_sulwba_%date:~0,4%%date:~5,2%%date:~8,2%
#通过winscp直接带参数的方式自动获取文件
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://<username>:<pwd>@<ip>:<port>" "option transfer binary" "get /upload_ba/%filename%.csv D:\xhx_ba_csv\upload_ba\" "exit"
最后,在windows的计划任务中设定每日自动此bat文件即可。
附:windows下日期格式
1.获取日期
格式: %date%
结果: 2012-07-31
2.获取时间
格式: %time%
结果: 10:21:21.68
3.获取日期和时间
格式: %date:~x,y%以及%time:~x,y%
说明: x是开始位置,y是取得字符数
比如说我要获取完整的日期和时间,
格式: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
结果: 20120731111039
但是如果时间早于10点,那么只显示日期不显示时间,如:20120731,如何解决呢?
格式: %date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%
结果: 20120731052539
win下自动sftp脚本定时下载文件的更多相关文章
- Xshell5下利用sftp上传下载传输文件
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 SSH ...
- SFTP上传下载文件、文件夹常用操作
SFTP上传下载文件.文件夹常用操作 1.查看上传下载目录lpwd 2.改变上传和下载的目录(例如D盘):lcd d:/ 3.查看当前路径pwd 4.下载文件(例如我要将服务器上tomcat的日志文 ...
- 吻逗死(windows)系统下自动部署脚本(for java spring*)及linux命令行工具
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10051647.html (^^)(^^)自動部署腳本原本在上個公司就在使用,由於近期同事需要手動部署一個Spr ...
- java实操之使用jcraft进行sftp上传下载文件
sftp作为临时的文件存储位置,在某些场合还是有其应景的,比如对账文件存放.需要提供一个上传的工具类.实现方法参考下: pom.xml中引入类库: <dependency> <gro ...
- Java Sftp上传下载文件
需要使用jar包 jsch-0.1.50.jar sftp上传下载实现类 package com.bstek.transit.sftp; import java.io.File; import ja ...
- Mac下通过shell脚本修改properties文件
通过shell脚本替换属性文件中的某行记录 假设有如下属性文件 demo.properties user.name=test user.password=123456 ................ ...
- Linux下通过ssh上传下载文件
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/jun8148/article/deta ...
- debian下通过scp 上传下载文件
1.上传本地文件到服务器 scp /path/filename username@servername:/path/ 2.从服务器上下载文件 scp username@servername:/path ...
- sftp协议下如何上传和下载文件
sftp连接: sftp hostname@IP/域名 1.上传: put filename 2.下载: get filename 参考连接:https://linuxstory.org/how-to ...
随机推荐
- Taking A Fresh Look At What Open Source API Management Architecture Is Available
http://apievangelist.com/2014/10/05/taking-a-fresh-look-at-what-open-source-api-management-architect ...
- DOM节点的三个属性
在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType :节点的类 ...
- JS学习笔记(1)--sort排序
sort() 方法用于对数组的元素进行排序. 请注意,数组在原数组上进行排序,不生成副本. 说明 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进 ...
- 突破MIME限制上传
方法:找一个正常的可上传的查看其的MIME类型,然后将马子的MIME改成合法的MIME即可.
- StringJDBC更改数据库的两种方式
方法一jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)", new Object[] {user.getId(), ...
- Spider Studio 社区信息
Spider Studio (采集工作站) 产品页面: http://www.gdtsearch.com/products.spiderstudio.htm QQ群: 45995410 - 有人驻场解 ...
- windbg的使用
1. set 1.1. 设置Symbol file path file->symbol file path, 如: D:\***\TestProject\pdb 1.2 设置source ...
- c经典算法
1. 河内之塔 说明 河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时 北越的首都,即现在的胡志明市:1883年法国数学家 Ed ...
- Unity基于DFGUI的TreeView设计
using UnityEngine; using System.Collections; public class Item { public string Id; public string Nam ...
- 如今就报名上海ORACLE用户组2014年高峰论坛吧!
COLLABORATE 14 – SHOUG Forum 上海ORACLE用户组2014年高峰论坛报名本次活动由ORACLE ACS高级服务部门与 SHOUG 上海ORACLE用户组合办. 大会议程包 ...