
Tengo un script BAT en Windows 10 que invoca winscp.com
y carga un único archivo al servidor SFTP en Internet. Registro el resultado en un archivo XML. El resultado cuando la transferencia se realiza correctamente para un solo archivo se parece a esto.
<?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>
Puedo descargar el archivo manualmente y confirmar que está bien, pero al mirar el registro, ¿cómo confirmo que la transferencia se realizó correctamente?
Hay dos elementos allí upload
y touch
ambos han regresado. result success = true
¿Qué representan y cuándo se considera realmente exitosa la transferencia? ¿Deberían ser ambos verdaderos en ese caso?
Soy completamente nuevo en esto y, por lo tanto, puede ser una consulta muy básica; sin embargo, no deseo descargar el archivo solo para verificar que la transferencia se haya realizado correctamente.
Mi primer parámetro para winscp.com es el archivo de script y el segundo es el archivo XML, algo así como/xmllog="C:\SFTP\mylog.xml"
Respuesta1
No es necesario analizar el registro XML para determinar si la transferencia se realizó correctamente.
Simplemente pruebe el código de salida de WinSCP. WinSCP devuelve el código de salida 0 cuando todo salió bien; de lo contrario, devuelve 1.
Consulte también las preguntas frecuentes sobre WinSCP¿Cómo sé que el script se completó correctamente?