WinScp自动执行脚本

我们经常使用WinSCP工具通过sftp协议上传获取文件,本文描述通过bat批量处理文件。

首先,我们打开dos命令窗口使用 cd \d :D\WinSCP 打开WinSCP安装目录

上传文件:

winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://user:pwd@ip:port" "option transfer binary" "put D:\需要上传的文件路径 /服务器文件存放目录" "exit" /log=log_file.txt

这里为了方便理解,一一解释。

winscp421.exe /console /command     命令名
 "option batch continue"           默认批处理  
 "option confirm off"             关闭提示信息
"open ftp://user:pwd@ip:port"  user:访问用户名 ,pwd:用户密码 ,ip:ip地址,port:端口号  默认22
"option transfer binary"   使用二进制格式传送

log=log_file.txt 日志文件地址
 "exit"                     ::执行完命令后退出 

注意:以上 command 后的都为参数 需在一行体现  如想分开写 可把命令单独放到一个文件

如:aa.txt

option echo off
option transfer binary
open <sftp_or_ftp>://<user>:<password>@<host_ip>:<port> -privatekey <private_key_file>
cd <remote_dir>
put *.doc
exit

用命令执行该脚本:winscp /script=aa.txt /ini=<WinSCP.ini_location> /log=<log_file>
如果需要配置传输参数,在WinSCP.ini配置,例如PreserveTime=0保持源文件的时间戳

 

下载文件:

一下是下载文件代码,同上传一样,如需单独写脚本可 用如上方式单独保存脚本执行。

CD /d D:\WinSCP
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://root:root@10.168.38.72:22" "option transfer binary" "get /test.txt D:\sftptest\" "exit" /log=D:\sftptest\log.txt

 

 

转载:https://www.cnblogs.com/binw/p/4065607.html

posted on   lydstory  阅读(1187)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示