我在 Windows 10 上有一个 BAT 脚本,用于调用winscp.com
单个文件并将其上传到 Internet 上的 SFTP 服务器。我将结果记录在 XML 文件中。单个文件传输成功时的输出如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<session xmlns="http://winscp.net/schema/session/1.0" name="[email protected]" start="2020-02-08T10:04:41.012Z">
<upload>
<filename value="c:\sftp\test.txt" />
<destination value="/Data/test.txt" />
<result success="true" />
</upload>
<touch>
<filename value="/Data/test.txt" />
<modification value="2020-02-08T03:52:28.000Z" />
<result success="true" />
</touch>
</session>
我可以手动下载文件并确认其没有问题,但是通过查看日志如何确认传输成功?
其中有两个元素upload
,并且touch
都已返回 result success = true
它们代表什么?什么时候转移才算成功?在这种情况下,两者都需要为 True 吗?
我对此完全陌生,因此这可能是一个非常基本的查询,但我不想下载文件只是为了验证传输是否成功。
我给 winscp.com 的第一个参数是脚本文件,第二个参数是 XML 文件,例如/xmllog="C:\SFTP\mylog.xml"
答案1
您不需要解析 XML 日志来确定传输是否成功。
简单测试一下 WinSCP 的退出代码。如果一切顺利,WinSCP 将返回退出代码 0,否则将返回 1。
另请参阅 WinSCP 常见问题解答我如何知道脚本已成功完成?