Jak wysłać wiadomość po zsynchronizowaniu plików przez WinScp

2

Zsynchronizowałem plik lokalny i zdalny przy użyciu programu WinScp i zaplanowałem za pomocą harmonogramu zadań systemu Windows. Wykonuje skrypt raz dziennie i pobiera plik, jeśli plik zdalny jest nowy lub aktualizowany, w przeciwnym razie nic nie rób.

Oto kod skryptu

option include data.csv 
synchronize local d:\ /home/dir

Ale teraz chcę powtórzyć komunikat w wierszu polecenia, jeśli plik zdalny jest nowy, zaktualizować go i pobrać z lokalnego katalogu.

Chodzi o to, że użytkownik nie musi codziennie sprawdzać pliku, aby sprawdzić, czy są nowe aktualizacje.

Zostaną powiadomieni za pomocą tego komunikatu w wierszu polecenia.

Co mam dodać w tym skrypcie, aby sprawdzić, czy nowsza wersja pliku została pobrana i wyświetlić komunikat, w przeciwnym razie nic nie robić?

EDYTOWAĆ:

Teraz jestem tutaj-

Utworzyłem plik wsadowy zawierający taki kod: -

winscp.com /console /script=dwn_script.txt
@echo off
if errorlevel 1 goto error 
echo The new version of data.csv file has been downloaded. Please check your local disk
:error

Ale errorlevelzawsze jest ustawione 0w obu przypadkach, gdy winscp mówi „Nic do synchronizacji” i gdy winscp pobiera nowszą wersję pliku.

Czy ktoś może wyjaśnić, która zmienna różnicuje status „Nic do synchronizacji” i pomyślne pobranie pliku?

Jeśli dostanę tę różnicę, mogę ją wprowadzić if conditioni pokazać użytkownikowi komunikat, że nowy plik został pobrany.

Shakti singh
źródło

Odpowiedzi:

0

WinSCP nie rozróżnia scenariusza bez plików do synchronizacji przy użyciu kodu wyjścia, ponieważ nie uważa tego za błąd.

Zamiast tego możesz włączyć rejestrowanie XML i przeszukać dziennik w poszukiwaniu <download>znacznika.
https://winscp.net/eng/docs/logging_xml

Martin Prikryl
źródło