
Windows 10 に、インターネット上の SFTP サーバーに 1 つのファイルを呼び出してアップロードする BAT スクリプトがありますwinscp.com
。結果を XML ファイルに記録します。1 つのファイルの転送が成功した場合の出力は次のようになります。
<?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>
ファイルを手動でダウンロードして問題がないことを確認することはできますが、ログを見て転送が成功したことをどのように確認すればよいでしょうか?
そこには2つの要素がありupload
、touch
両方とも戻ってきました result success = true
これらは何を表し、転送が実際に成功したとみなされるのはいつですか? その場合、両方とも True である必要がありますか?
私はこの分野に全く不慣れなので、非常に基本的な質問かもしれませんが、転送が成功したことを確認するためだけにファイルをダウンロードしたくありません。
winscp.comへの最初のパラメータはスクリプトファイルで、2番目は次のようなXMLファイルです。/xmllog="C:\SFTP\mylog.xml"
答え1
転送が成功したかどうかを判断するために XML ログを解析する必要はありません。
WinSCP の終了コードをテストするだけです。WinSCP は、すべてが正常に完了した場合は終了コード 0 を返し、それ以外の場合は 1 を返します。
WinSCP FAQも参照してください。スクリプトが正常に完了したことはどうすればわかりますか?