Ant:将目录从一个windows系统复制到另一个windows系统



如何使用ant将目录从windows系统复制到远程windows系统

有一个scp命令和FTP命令,请提供一个使用scp和FTP执行此任务的示例。

scp也需要SSH,这在windows系统中是不常见的。

那么如何使用ant在windows系统上使用SCP

如果你知道任何使用ant或java的更好的windows系统方法,请分享

还有一个SC命令(不知道怎么用)

下载:

<scp file="${username}:${password}@${ip}:${path-to-file}" todir="${dir}" trust="true" />

或上传:

<scp file="${path-to-file}" todir="${username}:${password}@${ip}:${dir}" trust="true" />  

Ant scp task提供了localFile、remoteFile等属性来代替"file",localTofile/localTodir、remoteTofile/remoteTodir等属性来代替"dir"。当您需要一些scp任务将文件从服务器获取到本地机器,而其他scp任务则需要将文件从本地机器上传到服务器时,使用这些属性可以帮助您避免混淆。
像这样(用于上传):

<scp localFile="${path-to-file}" remoteTodir="${username}:${password}@${ip}:${dir}" trust="true" />

查看ant手册查看更多信息:http://ant.apache.org/manual/Tasks/scp.html

注意:
1. 避免复制多个文件;复制一个zip文件和一个ant构建文件,然后在目标机器上解压缩。
2. 使用scp,您需要在目标机器上设置ssh服务器;您还需要将jsch.jar放在ANT_HOME/lib中。jsch.jar可以从

下载
http://www.jcraft.com/jsch/index.html

您应该使用FTP在windows机器之间复制文件。还有其他协议,但你应该使用FTP。

使用FTP的示例。

<ftp server="${server.location}"
   remotedir="${directory.to.copy}"
   userid="${ftp.username}"
   password="${ftp.password}"
   depends="yes">
   <fileset dir="**Files****"/>
</ftp>

您可以在这里进一步查看详细信息。那里有很多选择可以尝试。

首先从C:apache-ant-1.8.2lib文件夹下的http://www.jcraft.com/jsch/下载jsch-0.1.53.jar文件。然后在build.xml

中添加下面一行代码
<scp file="${userName}:${password}@${${ip_address}:${directory}/${FileName}" todir="${localDir_Where_to _Copy}" trust="true" />

然后在build.xml

中添加上述代码行

要使用ant scp将目录从本地主机复制到远程主机,必须指定目录的父目录到文件集,并包括目录名,例如

<scp todir="user@hostname:/destination/dir/" keyfile="id_dsa" passphrase="abc" sftp="true" >
    <fileset dir="${parentDir}/"  >
        <include name="**/${dirToCopy}/" />
    </fileset>
</scp> 

sftp="true"在这个主题上帮助了另一个用户,所以我包含了它。在我的情况下,我相信在parentDir和dirToCopy的末尾添加"/",这表示命令行中的目录,最终让我复制目录,而不仅仅是它的内容。

相关内容

  • 没有找到相关文章

最新更新