| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 使用WinSCP脚本在win10和linux之间实时同步项目 -> 正文阅读 |
|
[系统运维]使用WinSCP脚本在win10和linux之间实时同步项目 |
使用WinSCP脚本在win10和linux之间实时同步项目最近在学OpenGL,有时候需要看不同系统渲染结果是否一致。而且我喜欢用vim来敲代码,用原生的总比插件好。 用CMake来构建项目,可以在Visual Studio 和在linux中编辑同一个项目,方便地编译运行查看结果。 但是每次代码更改后都要点一下ftp工具来同步两台电脑,有点麻烦。WinSCP可实现本地实时同步到远程,但是反过来虽然有扩展可以实现,却不能实时,和排除目录。 本文前提条件是能够在win端使用WinSCP连接到linux。只在局域网内测试过。 1 下载安装WinSCP在win10中安装WinSCP,这是一个免费的ftp、sftp的客户端软件。与某基金会没有关系 官网下载: https://winscp.net/eng/download.php 安装时可以选择添加到环境变量,方便命令行调用。 2 新建会话,连接到linux打开WinSCP,在登录窗口中输入你要同步的主机名(或ip)、端口号、用户名。 3 浏览目录,同步一次浏览远程项目目录,记下地址 点击同步,输入本地项目目录 点传输设置-文件掩码-编辑 写要排除的文件或目录,比如.开头的目录、build目录等,记录下掩码。这个就像.gitignore,可以选择不同步编译的目录。以后想排除什么目录,在这个界面配好,让他给你生成就行了。 掩码是类似这样的:
4 命令行同步目录脚本需要在命令行中启动一个会话,也就是登录到远程。不过代码WinSCP已经帮你生成好了。 点击会话-生成会话URL/代码 脚本-格式选择脚本文件,复制所示代码 打开命令行,输入 将复制的代码粘贴过来,打开会话,即可进入远程目录 建议先备份项目。 输入同步命令如下,将掩码和目录补上
例如
看看同步效果合不合预期,如果不合,检查代码,也可看官网文档 https://winscp.net/eng/docs/scriptcommand_synchronize 5 编写脚本,自动同步WinSCP同样帮你生成了批处理代码,不过需要改一下。 点击会话-生成会话URL/代码 点击脚本-格式为批处理文件,复制所示代码 新建批处理文件,粘贴代码,将“你的命令”替换成刚才那行同步命令,注意要将嵌套引号"写成两个""。写个循环,隔几秒执行一次 我的脚本如下 sync.bat
其中timeout 3表示3秒执行一次,命令行中执行脚本就会给你3秒同步一次,要停止就按Ctrl+C。 这个脚本可以方便地修改目录和掩码,同步其他目录。 效果如下 其他不足之处此脚本的缺点:不能删除文件,你删了一边他又给你从另一边同步回来了,得停止脚本,然后两边都删了才行,希望有大佬帮忙解决下。而且每次同步都打开一个会话,可能会造成资源浪费,应该在同一个会话中不断同步,看官网发现应该能用.NET实现,不过我不会。 vim设置自动读取如果你使用vim的话,得在.vimrc中加上自动保存、自动读取
才能方便地同步,不过是切换编辑时同步 类似软件
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 0:01:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |