Windows下用WinSCP传输数据到Linux上

时间:2022-03-07 07:25:55

Scenario:
最近公司做的一个项目,UI部分我是使用python在编译时做localization的,是linux下运行的,但是开发是在windows下进行的每次编译后都要手动通过WinSCP这个工具传到测试机上测试,很麻烦.网上查了下WinSCP在windows下也可以在命令行下直接使用,于是就写了个BAT文件编译完后自动传到测试及其上去.
ENV:
远程机器: centos(IP:10.64.70.189)
远程目录:/var/tmso
编译脚本:D:\tmso\tool\Compiler.py
输出目录:D:\tmso\build\release
WinSCP:D:\Program Files (x86)\WinSCP\WinSCP.exe
传输脚本:D:\tmso\tool\autoupload.txt

BAT文件内容
echo off
set psf=”D:\tmso\build\release”
set compilertooldir=”D:\tmso\tool\”
set scptool=”D:\Program Files (x86)\WinSCP\WinSCP.exe”
set script=”D:\tmso\tool\autoupload.txt”
d:
cd %compilertooldir%
python Compiler.py
if exist %psf% goto succ
if not exist %psf% goto fail
:succ
%scptool% /console /script=%script%
exit
:fail
echo No output dir:%psf%
pause

autoupload.txt文件内容
open root:xxxpassword@10.64.70.189
synchronize remote D:\tmso\build\release /var/tmso -delete
exit

==========================================================

WinSCP命令行

WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。

直接在cmd下输入winscp进入winscp操作介面,查看帮助直接在下面输入help就可以看到所以可用到的命令。

连接到远程机器:
open yourusername@yourip
输入密码就成功登录了。

输入help:
winscp> help
call     执行任意远程Shell命令
cd       改变远程工作目录
chmod    改变远程文件权限
close    关闭会话
exit     关闭所有会话并结束程序
get      从远程目录下载文件到本地目录
help     显示帮助
keepuptodate 在一个远程目录连续反映本地目录的改变
lcd      改变本地工作目录
lls      列出本地目录的内容
ln       新建远程符号链接
lpwd     显示本地工作目录
ls       列出远程目录的内容
mkdir    新建远程目录
mv       移动或者重命名远程文件
open     连接到服务器
option   设置或显示脚本选项的值
put      从本地目录上传文件到远程目录
pwd      显示远程工作目录
rm       删除远程文件
rmdir    删除远程目录
session  列出连接的会话或者选择活动会话
synchronize 用一个本地目录同步远程目录

如果要查看某个命令的具体使用方法用:
help command
例:
help synchronize
winscp> help synchronize
synchronize local|remote|both [ [ ] ]
第一个参数是’local’时,用远程与本地同步。
当第一个参数是’remote’时用本地目录同步远程目录。
当第一个参数是’both’用一个同步另一个。
当目录没有指定时,同步当前工作目录。
如果’synchdelete’设置为’on’,旧文件会被删除。
注意:对这个命令,覆盖确认永远是关闭的。
影响的选项:
transfer, synchdelete, exclude, include
范例:
synchronize remote
synchronize both d:\ /home/martin/public_html

虽然只是个文件传输工具,相当于类似于ftp之类的工具,但这玩意功能相当强大,值得了解下!很多黑客们都用这玩意!

winscp命令行批处理读远程服务器文件例子文章分类:操作系统

option echo off
option batch on
option confirm off
open scp://yourusername:yourpassword@yourip
get /opt/backup/gnome-libs-1.4.2.tar.bz2 d:\ui\gnome-libs-1.4.2.tar.bz2
close
exit

同步整个文件夹的方法synchronize:
option echo off
option batch on
option confirm off
open scp://yourusername:yourpassword@yourip
cd /opt/backup/
option transfer binary
option synchdelete off
synchronize local d:\ui
close
exit

http://ju.outofmemory.cn/entry/77341