安装WinSCP
WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。
- 下载:https://winscp.net/eng/download.php
- 安装
设置环境变量添加winscp路径
右击我的电脑->选择属性->选择高级系统设置->系统属性项->高级->环境变量->系统环境变量->选择PATH编辑
在值一行的最后加一个分号”;“然后把winscp的路径加进去
当然也可以先cd到winscp的安装路径下直接调用winscp.exe,但是这样不方便在代码中进行批量处理。
使用winscp命令
参考https://www.cnblogs.com/binw/p/4065607.html
windows下打开cmd命令行窗口,或者在代码中调用命令行,使用一下命令可以实现window上传文件到linux或者下载Linux上的文件
1. 上传
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
比如:
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://ggg:ggg@[2001:25gg:1004:5043:ae1f:gggg:gggg:gggg]:22" "option transfer binary" "put D:\1.pdf /home/ggg/" "exit" /log=D:\log_file.txt
- winscp421.exe /console /command 命令名
- “option batch continue” 默认批处理
- “option confirm off” 关闭提示信息
- “open sftp://user:pwd@ip:port” user:访问用户名 ,pwd:用户密码 ,ip:ip地址,port:端口号 默认22。 IPv6地址需要用[]框起来
- “option transfer binary” 使用二进制格式传送
- log=log_file.txt 日志文件地址
- “exit” ::执行完命令后退出
2. 下载
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://user:pwd@ip:port" "option transfer binary" "get /服务器文件路径 D:\保存文件路径\" "exit" /log=log_file.txt
比如:
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://ggg:ggg@[2001:25gg:1004:5043:ae1f:gggg:gggg:gggg]:22" "option transfer binary" "get //home/gggy/1.pdf D:\" "exit" /log=D:\log_file.txt