2

Я синхронизировал локальный и удаленный файл с помощью WinScp и запланировал с помощью планировщика задач Windows, который выполняет сценарий один раз в день и загружает файл, если удаленный файл является новым или обновленным, в противном случае ничего не происходит.

Вот код скрипта

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

Но теперь я хочу повторить сообщение в командной строке, если удаленный файл новый, обновлен и загружен в локальный каталог.

Идея, стоящая за этим, заключается в том, что пользователю не нужно ежедневно проверять файл, чтобы увидеть, есть ли новые обновления.

Таким образом, они будут уведомлены через это сообщение в командной строке.

Что я добавлю в этот скрипт, чтобы проверить, что была загружена более новая версия файла, и вывести какое-то сообщение, иначе ничего не делать?

РЕДАКТИРОВАТЬ:

Теперь я здесь

Я создал командный файл, который содержит такой код:-

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

Но уровень errorlevel всегда устанавливается равным 0 в обоих случаях, когда winscp сообщает "Ничего не синхронизировать" и когда winscp загружает более новую версию файла.

Может кто-нибудь уточнить, какая переменная дифференцирует статус "Нечего синхронизировать" и успешную загрузку файла?

Если я получу эту разницу, я могу поставить ее в if condition и показать пользователю сообщение о том, что новый файл был загружен.

1 ответ1

0

WinSCP не различает сценарий без файлов для синхронизации с использованием кода выхода, так как не считает это ошибкой.

Вместо этого вы можете включить ведение журнала XML и искать в журнале <download> .
https://winscp.net/eng/docs/logging_xml

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .