2009-03-29 12 views
10

psftpを制御するためにバッチファイルを作成するにはどうすればよいですか?全体的に私はビデオファイルを変換して、それを私のApple TVにアップロードしようとしています。それ自身のバッチファイルを呼び出すことができ、私は-bフラグPSFTPを知っWindowsバッチファイル内の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 [email protected] -pw aaa 
cd downloads/boxee 
put %1.avi 
quit 

が、私はドン:ここで私が持っているものだ、それは一般的に動作しますが、コマンドはPSFTPをコントロールしていない、PSFTPだけでユーザーの入力を待ち%1引数を取得する方法を知っていません。私は、テキストファイルがpsftpにリダイレクトされるソリューションを見てきましたが、それは同じ問題を抱えています。また、私はただ一つのファイルを持っていることを望んでいますが、2番目のファイルを呼ぶ必要はありません。

答えて

15

私はその後、使用するPSFTPを告げた主なものから新しいバッチファイルを作成することになった:

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

psftp [email protected] -pw aaa -b psftp.bat 
1

Windowsに付属のFTPコマンドを使用してみませんか?

ファイルをアップロードするスクリプトを記述する必要があります。

オープン192.168.1.50
ユーザー
frontrow AAA
はfile.avi
を入れ

を終了

次にftp -s:MyScript

echoと>>リダイレクタを使用して各ファイルごとにスクリプトを生成する必要があります。

+2

通常、非受動FTPポート20および21はインターネットに公開されていないためです。 SSHポート22を開いたままにしてからPSFTPを使用して、そのポートを安全にトンネリングする方がずっと安全です。 – djangofan

4

通常の操作ではバッチコマンドに

を含むファイルを指定して、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 

をして、あなたはすべてを一つにhttp://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html#6.1.3

+0

これは「psftpを制御するためのバッチファイルをどのように書きますか?*動的ファイル名*?」という質問には答えられませんが、OPは-bフラグについてはっきりと知っています – lmiguelmh

2

psftp [email protected] -b myscript.scr 

クレジットを入力してスクリプトを実行することができファイル:

@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 [email protected] -pw aaa -bc 

正確なポート番号が必要な場合:

psftp [email protected] -P 222 -pw aaa -bc 
0

ftpですべてのファイルを1つアップロードする場合は、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 [email protected]:/downloads/boxee 
0

私は、エンドユーザーが、彼女はちょうど安全なFTPサイトに編集したファイルをアップロード持つように、単純なバッチファイル/スクリプトを実行するのに苦労しました。

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

と、標準のWindowsのコマンドプロンプトからのPuTTYのsftpコマンドを実行している:このスクリプトの使用

psftp [email protected] -pw password -b testscript.scr 

を私はすぐにできたと(さらに重要なこと!!)簡単にファイルをアップロード会社から私は仕事をしている会社に仕事をしています。また、必要に応じてファイルの名前を変更する(ren)、必要に応じてファイルを削除する準備ができていることがわかります(rm)。ハッシュ記号(#)は、行をコメント行として設定します。

これにより、Windowsで完全なバッチファイルを作成することができました。エンドユーザーは、クリックしてファイルを生成したときにファイルをアップロードすることができます。それは私が 'ネット上で見つけたsftpの他の "味"のいくつかを使用するよりもずっと簡単で、何十年もパティを使用して信頼しました。

関連する問題