我们经常使用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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2014-11-05 ceph rpm foor rhel6
2013-11-05 字符串读写函数
2013-11-05 C文件操作