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

时间:2011-09-09 05:51:43

标签: java windows ant

如何使用ant

将目录从Windows系统复制到远程Windows系统

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

此外,scp需要SSH,这在Windows系统中并不常见。

那么如何使用ant

在Windows系统上使用SCP

另外,如果您对使用ant或java的Windows系统有更好的方法,请分享

还有一个SC命令(不知道如何使用它)

4 个答案:

答案 0 :(得分:2)

下载:

<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任务提供了诸如localFile和remoteFile之类的属性来替换“file”,以及localTofile / localTodir和remoteTofile / remoteTodir来替换“dir”。当您需要一些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

  

答案 1 :(得分:1)

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

使用FTP的示例。

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

您可以进一步查找详细信息here。有很多选择可以尝试。

答案 2 :(得分:1)

首先从C:\ apache-ant-1.8.2 \ lib文件夹中的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中有上面的代码行

答案 3 :(得分:0)

要使用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的末尾添加“/”,它表示命令行中的目录,最后让我复制一个目录,而不仅仅是它的内容。