Управление psftp в пакетном файле Windows - PullRequest
10 голосов
/ 29 марта 2009

Как мне написать командный файл для управления psftp, но с динамическим именем файла? В общем, я пытаюсь преобразовать видеофайл, а затем загрузить его на свой Apple TV. Вот что у меня есть, это обычно работает, но команды не управляют psftp, psftp просто ждет ввода пользователя:

echo Convert and Upload to Apple TV file Called %1.mkv

ffmpeg -i %1.mkv -vcodec mpeg4 -acodec ac3 -ab 384k -sameq -s hd720 -t 60 %1.avi

psftp frontrow@192.168.1.50 -pw aaa
cd downloads/boxee
put %1.avi
quit

Я знаю, что с флагом -b psftp может вызывать собственный пакетный файл, но я не знаю, как получить аргумент% 1. Я видел решения, где текстовый файл перенаправляется в psftp, но это страдает от той же проблемы. Кроме того, я бы предпочел иметь только один файл, но с вызовом второго файла тоже все будет в порядке.

Ответы [ 6 ]

15 голосов
/ 17 мая 2009

Я закончил тем, что создал новый командный файл из основного, который затем сказал psftp:

echo cd downloads/boxee > psftp.bat
echo put "%1.avi" >> psftp.bat
echo quit >> psftp.bat

psftp frontrow@192.168.1.50 -pw aaa -b psftp.bat
4 голосов
/ 20 января 2011

Укажите файл, содержащий пакетные команды

При нормальной работе PSFTP - это интерактивная программа, которая отображает командную строку и принимает команды с клавиатуры.

Если вам нужно выполнять автоматизированные задачи с PSFTP, вы, вероятно, предпочтете заранее указать набор команд и выполнить их автоматически. Опция -b позволяет вам сделать это. Вы используете его с именем файла, содержащим пакетные команды. Например, вы можете создать файл с именем myscript.scr, содержащий такие строки:

cd /home/ftp/users/jeff
del jam-old.tar.gz
ren jam.tar.gz jam-old.tar.gz
put jam.tar.gz
chmod a+r jam.tar.gz
quit

и затем вы можете запустить скрипт, набрав

psftp user@hostname -b myscript.scr

Кредит http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html#6.1.3

2 голосов
/ 07 ноября 2013

Все в одном файле:

@echo off
echo Convert and Upload to Apple TV file Called %1.mkv
ffmpeg -i %1.mkv -vcodec mpeg4 -acodec ac3 -ab 384k -sameq -s hd720 -t 60 %1.avi
(
echo cd downloads/boxee
echo put %1.avi
echo quit
) | psftp frontrow@192.168.1.50 -pw aaa -bc

Если нам нужен точный номер порта:

psftp frontrow@192.168.1.50 -P 222 -pw aaa -bc
1 голос
/ 29 марта 2009

Почему бы не использовать встроенную команду FTP, которая входит в состав Windows?

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

открыто 192.168.1.50
Пользователь
передний ряд ааа
положить файл .avi
выйти

затем позвоните ftp -s: MyScript

Вам потребуется сгенерировать скрипт для каждого файла, используя echo и перенаправитель >>.

0 голосов
/ 26 августа 2015

Я изо всех сил пытался запустить простой пакетный файл / скрипт, чтобы конечный пользователь загрузил файл, который она только что отредактировала, на защищенный FTP-сайт.

Используя этот скрипт:

cd /outgoing
put Examplefile.txt
# chmod a+r Examplefile.txt
# ren Examplefile.txt Exam.ted
# rm Examplefile.txt
quit

и запуск команды PuTTY sftp из стандартной командной строки Windows:

psftp user@ftp.address.com -pw password -b testscript.scr

Мне удалось быстро и (что более важно !!) загрузить файл из компании, для которой я работаю, в компанию, с которой нам нужно было вести бизнес. Вы также можете увидеть, что я готов переименовать файл при необходимости (ren) или удалить файл при необходимости (rm). Символ хеша (#) устанавливает строки как строки примечания.

Это позволило мне создать полный пакетный файл в Windows, который конечный пользователь мог бы просто щелкнуть, чтобы загрузить файлы по мере их создания. Это было НАМНОГО проще, чем использование некоторых других «разновидностей» sftp, которые я нашел в сети, и я использовал PuTTY и доверял ему в течение десятилетий.

0 голосов
/ 10 декабря 2013

Если все, что вы делаете с помощью ftp - это загрузка одного файла, вы можете использовать pscp .

echo Convert and Upload to Apple TV file Called %1.mkv

ffmpeg -i %1.mkv -vcodec mpeg4 -acodec ac3 -ab 384k -sameq -s hd720 -t 60 %1.avi
pscp -pw aaa -sftp %1.avi frontrow@192.168.1.50:/downloads/boxee
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...