Прежде всего, давайте диагностируем, почему это не работает.
- Пакетный файл запускается. Вероятно, в C:\users\vincent\
- Рабочий каталог изменяется первой командой. эта команда заканчивается, и обработка переходит к следующей команде.
psftp user@99.99.99.99 -pw password -P port
начать. Он работает и ждет ввода пользователя.
- Следующая команда не будет достигнута, пока не закончится предыдущая. Если вы быстро читаете, то можете набрать
quit
и увидеть сообщение об ошибке, которое указывает, что put is not a recognised internal or external command
до закрытия окон.
Итак, теперь мы обнаружили, что мы вводим третью команду, а не вводим для psftp. Теперь вопрос в том, как вы можете отдавать приказы запущенной программе psftp.
Глава 6, раздел 6.1.5 psftp, означает опцию -b
. Цитируя это:
В обычном режиме PSFTP - это интерактивная программа, которая отображает командную строку и принимает команды с клавиатуры. Если вам нужно выполнять автоматизированные задачи с помощью PSFTP, вы, вероятно, предпочтете заранее указать набор команд и выполнить их автоматически. Опция -b позволяет вам сделать это. Вы используете его с именем файла, содержащим пакетные команды. Например, вы можете создать файл с именем myscript.scr, содержащий такие строки:
Затем он перечисляет пример. В вашем случае файл, вероятно, должен содержать это:
put file.csv /remote/folder/file.csv
quit