0

我正在尝试使用 Nant.Contrib 中的 scp 任务将文件复制到远程服务器。

我已经使用以下代码来做到这一点:

<target name= "QADeploy"description="gthtyb" >
<loadtasks assembly="C:\nantcontrib-0.85\bin\NAnt.Contrib.Tasks.dll" />
<echo message="htyh"/>
<scp file="D:\SourceTest\redist.txt" server="\\10.4.30.19" user="xxx:uuuu">      
</scp>
</target>

但我收到一个错误:scp 无法启动。该系统找不到指定的文件。代码如下: 然后我下载了pscp.exe,修改代码如下:

<target name= "QADeploy"
    description="gthtyb" >
 <loadtasks assembly="C:\nantcontrib-0.85\bin\NAnt.Contrib.Tasks.dll" />

<echo message="htyh"/>

<scp file="D:\SourceTest\redist.txt" server="\\10.4.30.19" user="xxx:uuuu" program="C:\pscp\pscp.exe">      
</scp>

现在我收到以下错误:

[scp] ssh_init: 主机不存在

外部程序失败:C:\pscp\pscp.exe

你能帮我用 Nant 将文件复制到远程服务器的最佳方法吗?我正在使用此代码将文件部署到远程服务器。

谢谢

4

2 回答 2

1

您不必在服务器的 IP 后面加上两个反斜杠。

<scp file="D:\SourceTest\redist.txt" server="10.4.30.19" user="xxx:uuuu" program="C:\pscp\pscp.exe">      

另请注意,如果没有“path”参数,默认目标文件夹是“~”。

更新:使 pscp.exe 程序崩溃的是用户名。从您的用户名中删除“:”或尝试使用其他用户名。

于 2009-12-10T10:08:01.963 回答
0

pscp 如何解析 Windows 中的路径似乎有些奇怪。以下应该修复 ssh_init:host 不存在的问题:

-upload
pscp some.file user@[remote-host-or-ip]:/some/path/

-download
pscp user@[remote-host-or-ip]:/some/path/some.file  some.file
于 2010-04-26T23:21:29.160 回答