
我在 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
andtouch
且都已返回 result success = true
它們代表什麼以及什麼時候轉移實際上被認為是成功的?在這種情況下,兩者都應該為 True 嗎?
我對此完全陌生,因此這可能是一個非常基本的查詢,但是我不想只是為了驗證傳輸是否成功而下載文件。
winscp.com 的第一個參數是腳本文件,第二個參數是 XML 文件,例如/xmllog="C:\SFTP\mylog.xml"
答案1
您無需解析 XML 日誌即可確定傳輸是否成功。
只需測試 WinSCP 退出程式碼即可。當一切正常時,WinSCP 會傳回退出代碼 0,否則傳回 1。
另請參閱 WinSCP 常見問題解答我如何知道腳本成功完成?