我在 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"
您无需解析 XML 日志即可确定传输是否成功。
只需测试 WinSCP 退出代码。当一切正常时,WinSCP 返回退出代码 0,否则返回 1。
另请参阅 WinSCP 常见问题解答我如何知道该脚本已成功完成?