这篇文章介绍了使用 Ant 构建脚本以及 WinSCP 进行文件的上传和下载操作。详细说明了各个命令和参数的作用,包括在命令中指定的 WinSCP 可执行文件路径、连接远程服务器的方式、文件传输模式设置、下载和上传文件的路径等。示例中展示了针对文件下载和上传分别设计的任务(target),以及相应的 XML 配置代码。
文件下载
winscp.executable
为winscp安装路径 ,如:C:/Program Files (x86)/WinSCP/WinSCP.com
/console: 在控制台模式下运行 WinSCP。
/command: 指定要执行的命令。
option batch continue: 设置 WinSCP 在遇到错误时继续批处理操作
option confirm off: 关闭文件传输的确认提示。
open sftp://{pwd}@{src.host}(应该是另一个 Ant 属性,表示服务器地址),使用
{pwd}(密码)进行身份验证
-hostkey=*参数会告诉客户端接受任何主机密钥,即使它与先前记录的不同也会被接受
option transfer binary: 设置传输模式为二进制。
get /app/server/file {basedir}\${target.dir}\file`: 从远程服务器上的 `/app/server/file` 路径下载文件到本地 `{basedir}${target.dir}\file路径。
exit: 关闭 WinSCP 会话。
/log=log_file.txt: 将日志输出到
log_file.txt` 文件中。
<target name="download" description="下载文件" >
<exec executable="${winscp.executable}">
<arg value="/console" />
<arg value="/command" />
<arg value="option batch continue" />
<arg value="option confirm off" />
<arg value="open sftp://${src.username}:${pwd}@${src.host}:22 -hostkey=*" />
<arg value="option transfer binary" />
<arg value="get /app/server/file ${basedir}\${target.dir}\file" />
<arg value="exit" />
<arg value="/log=log_file.txt" />
</exec>
</target>
文件上传
<target name="upload" description="上传文件" >
<exec executable="${winscp.executable}">
<arg value="/console" />
<arg value="/command" />
<arg value="option batch continue" />
<arg value="option confirm off" />
<arg value="open sftp://${src.username}:${pwd}@${src.host}:22 -hostkey=*" />
<arg value="option transfer binary" />
<arg value="put ${basedir}\${target.dir}\file /app/server/file " />
<arg value="exit" />
<arg value="/log=log_file.txt" />
</exec>
</target>
评论区