zoukankan      html  css  js  c++  java
  • 使用 VS2005 通过按钮自动上传文件到Linux

    首先去官网下载 winscp,官网地址:http://winscp.net/eng/download.php

    因为我这里是做自动上传工具,所以我只下载了精简版的:Portable executables

    解压后,把两个可执行文件 WinSCP.com,WinSCP.exe 解压到 C:WindowsSystem32 目录下

    我们当然可以通过明文密码来进行连接,但是这样并不安全。我在这里推荐使用密钥建立连接的方式,

    使用密钥建立连接的格式为:

    open scp://【用户名】@【host地址】-passphrase=【密钥】

    【一】得到密码的密钥

    首先打开带图形化界面的 WinSCP.com,建立并保存连接,然后打开 Tools → Preferences

    这一步主要目的是生成 .ini 文件,得到密码的密钥:

    image

    然后打开 Storage → Configuration storage ,把默认的 Windows registry (注册表)改为 INI file

    此时会在当前 C:WindowsSystem32 路径下生成一个 WinSCP.ini 文件

    image

    然后点击 Save 保存,注意勾选保存密码的选项:

    image

    此时就会在 C:WindowsSystem32 下生成一个 WinSCP.ini 的文件

    打开 WinSCP.ini 文件,拉到最后一行,找到 Password 选项,得到生成的密钥:

    image

    【二】编写供自动上传的脚本,这里以上传单个文件为例

    我的本地路径:D:myproj

    我的远程路径:/home/qqsprite/myproj

    Sync_Single.bat

    @echo offset NativePath=%1%
    set RemotePath=%NativePath%
    set "RemotePath=%RemotePath:D:myproj=/home/qqsprite/myproj/%"
    set "RemotePath=%RemotePath:=/%"
    
    
    echo "NativePath : %NativePath%"
    echo "RemotePath : %RemotePath%"
    
    set UseScp="open scp://qqsprite@192.168.2.20 -passphrase=A35C405095863F6BA757459B4D52BA5826343D323B3F34246D"
    
    set CMD=C:WindowsSystem32WinSCP.com /console /command %UseScp%
    %CMD% %options% "put %NativePath% %RemotePath%" "exit"

    其中,-passphrase 选项后填写你刚才生成的密钥

    保存,将此文件命名为“Sync_Single.bat”,存放到你的工程解决方案路径下

    【三】在 Visual Studio 2005 中定制一个按钮

    在菜单栏,选择“工具”→“外部工具”,在“命令”一栏填写你 Sync_Single.bat 脚本的路径

    然后在“参数”一栏右箭头选择“项路径”即 $(ItemPath)

    外部命令详细参数从参见 MSDN 文档【外部工具参数】:

    https://msdn.microsoft.com/zh-cn/library/ekbzk5f8(v=vs.80).aspx

    名称参数说明

    项路径

    $(ItemPath)

    当前源的完整文件名(定义形式:驱动器 + 路径 + 文件名);若存在活动的非源窗口时为空白。

    项目录

    $(ItemDir)

    当前源的目录(定义形式:驱动器 + 路径);若存在活动的非源窗口时为空白。

    项文件名

    $(ItemFilename)

    当前源的文件名(定义为文件名);若存在活动的非源窗口时为空白。

    项扩展名

    $(ItemExt)

    当前源的文件扩展名。

    当前行

    $(CurLine)

    编辑器中光标的当前行位置。

    当前列

    $(CurCol)

    编辑器中光标的当前列位置。

    当前文本

    $(CurText)

    选择的文本。

    目标路径

    $(TargetPath)

    要生成的项的完整文件名(定义形式:驱动器 + 路径 + 文件名)。

    目标目录

    $(TargetDir)

    要生成的项的目录。

    目标名称

    $(TargetName)

    要生成的项的文件名。

    目标扩展名

    $(TargetExt)

    要生成的项的文件扩展名。

    项目目录

    $(ProjDir)

    当前项目的目录(定义形式:驱动器 + 路径)。

    项目文件名

    $(ProjFileName)

    当前项目的文件名(定义形式:驱动器 + 路径 + 文件名)。

    解决方案目录

    $(SolutionDir)

    当前解决方案的目录(定义形式:驱动器 + 路径)。

    解决方案文件名

    $(SolutionFileName)

    当前解决方案的文件名(定义形式:驱动器 + 路径 + 文件名)

    image

    此时,即可通过点击这个外部工具,来完成自动上传的功能。

    如果想更方便,通过点击工具栏的按钮来进行上传,则需要进一步的定制。

    右键工具栏,选择“自定义”

    image

    然后点击“新建”,为你的自定义按钮创建一个名称“Single”,点击“确定”

    image

    image

    打开“命令”选项卡,把对应的外部命令拖动到 Visual Studio 的工具栏上,注意这里没有提示

    具体对应的你的哪个外部命令,这时先关闭,然后打开工具栏,查看你定义的外部命令的序号是

    第几个,我这里是第16个:

    image

    然后重新打开自定义,把对应的外部命令拖动上去(VS其它版本的后续步骤可能会有差别)

    image

    这时不要关闭“自定义”对话框,直接右键工具栏上,你刚拖动上去的按钮,修改你的名称,

    把“外部命令”改成“Sync_Single”:

    imageimage

    此时按钮就显示出名字了,如果你想显示图标,只需要选择“更改按钮图像”即可:

    image

    此时就能显示按钮图标了,如果你不想显示文字,选择“默认样式”,就不显示文字了。

    此时点击按钮,查看输出窗口,上传成功。

  • 相关阅读:
    慕课网-安卓攻城狮视频学习及练习(二)
    慕课网-安卓攻城狮视频学习及练习(一)
    1126 Eulerian Path
    1127 ZigZagging on a Tree
    1128 N Queens Puzzle
    1129 Recommendation System
    1130 Infix Expression
    1131 Subway Map
    1132 Cut Integer
    1133 Splitting A Linked List
  • 原文地址:https://www.cnblogs.com/sunrisezhang/p/4054137.html
Copyright © 2011-2022 走看看