Вы объединяете команды psftp
и команды Windows в один файл.Это не может работать.Пакетный файл останавливается при вызове на psftp
и ожидает его завершения.psftp
напротив, не знает, что пакетный файл даже существует, поэтому он не может читать свои команды оттуда.
Поместите ваши psftp
команды (строки open
хотя quit
) в отдельныйфайл (upload.txt
) и выполните его с помощью следующей команды:
"C:\Program Files\PuTTY\psftp.exe -b c:\path\to\upload.txt
(вы можете выполнить эту команду непосредственно из T-SQL или поместить ее в свой пакетный файл)
Обратите внимание, что ваш пакетный файл также не может работать с cmd
, в отличие от того, что вы заявляете в своем вопросе.Вы, вероятно, имели в виду, что ввод этих строк в cmd
работает вручную, что-то еще.