windows下 命令行+winscp 实现与linux的远程文件传输

安装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 

猜你喜欢

转载自blog.csdn.net/GYGuo95/article/details/80041139