控制Windows批处理文件中的psftp

Bra*_*rad 10 windows batch-file

如何编写批处理文件来控制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
Run Code Online (Sandbox Code Playgroud)

我知道使用-b标志psftp可以调用它自己的批处理文件,但我不知道如何获取它的%1参数.我已经看到了将文本文件重定向到psftp的解决方案,但是遇到了同样的问题.此外,我宁愿只有一个文件,但不得不调用第二个文件也没关系.

Bra*_*rad 15

我最后创建了一个新的批处理文件,然后我告诉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
Run Code Online (Sandbox Code Playgroud)