Вот что я хочу сделать, используя WinSCP, вызываемый из BAT-файла:

  1. Выполните сценарий WinSCP, который загружает файлы на FTP-сайт.
  2. Проверьте успешность загрузки.
  3. В случае успеха, переместите файлы на локальной машине в другую папку.
  4. В случае неудачи ничего не делайте.

Я попробовал пример пакетного файла, показанный на сайте WinSCP, но после выполнения команды WinSCP остальная часть bat-файла игнорируется.

См: https://winscp.net/eng/docs/script_local_move_after_successful_upload

Fairfielder

Ответов: 1

Ответы (1)

В официальном примере отсутствовала команда exit в конце сценария WinSCP.

Это должно быть:

# Connect
open mysession
# Upload the files
put *.*
# Exit WinSCP
exit

После этого пакетный файл будет правильно обрабатывать другие команды:

winscp.com /script=example.txt
if %ERRORLEVEL% neq 0 goto error

echo Upload succeeded, moving local files
move *.* c:\backup\
exit 0

:error
echo Upload failed, keeping local files
exit 1

Я исправил пример.

2022 WebDevInsider