
Я пытаюсь автоматизировать некоторые передачи файлов с помощью скриптов WinSCP. Вот что у меня есть.
option echo off
option batch on
option confirm off
open abcde:[email protected]
lcd "t:\"
put -nopermissions -nopreservetime "test.txt" test.txt
exit
Я могу на самом деле попасть в командную строку и выполнить команды open
, lcd
, и put
без каких-либо проблем. Когда я использую скрипт, я получаю эту ошибку:
Opening session using command-line parameter in scripting is deprecated. Use 'open' command instead.
Searching for host...
Host "=" does not exist.
Я преодолел препятствие с подключением, поместив команду подключения в пакетный файл, извлекающий скрипт.
Winscp.com abcde:[email protected]
Как вызвать скрипт для выполнения остальных задач?
решение1
Вам нужно сохранить свойСкрипт WinSCPв файл (например script.txt
).
А затем заставьте WinSCP запустить скрипт, используя/script=
переключатель командной строки, нравиться:
winscp.com /log=winscp.log /script=script.txt
Вам следует начать сруководство по автоматизации передачи файлов SFTP с помощью WinSCP.
решение2
Это сработало для меня. Я сохранил следующий текст как .bat-файл и запустил его.
echo off
WinScp /ini=nul /command "open [email protected] -
privatekey=D:\PostgresXL.ppk" "move_files_or_do_something" "exit"