2017-06-17 5 views
0

私はffmpeg、applescript、および端末に新しいです。行末が不明ですが、未知のトークンが見つかりました

ffmpegを使用して、選択したファイルのグループを任意のフォルダに一括変換したいと考えています。すべてのFLVファイルを見つけた

for f in *.flv; do ffmpeg -i "$f" -acodec libmp3lame -b:a 256k "${f%.flv}.mp3" && rm "$f"; done 

、および256ビットレートmp3に変換し、その後、元のファイルは削除されます:私は、フォルダの場所でターミナルを開いて、このコードを使用することによってこれを行うことに成功しました。

私はもっと自動化したいので、サービスを作ることに目を向けました。私はそれがファイルを変換するコードを実行し、ファイルをフォルダの場所でターミナルを開くには、私はそれをオートメーションを介してリンゴのスクリプトを実行しようとしました。ここで私が試みたコードは次のとおりです。

tell application "Finder" to set currentFolder to target of front Finder window as text 
set theWin to currentFolder's POSIX path 

tell application "Terminal" 
    if not (exists window 1) then reopen 
    activate 
    do script "cd " & quoted form of theWin & ";clear" in window 1 
    tell application "Terminal" 
     do script "for f in *.flv; do ffmpeg -i "$f" -acodec libmp3lame -b:a 256k "${f%.flv}.mp3" && rm "$f"; done" 
    end tell 
end tell 

コードの最初の部分がうまくフォルダの場所でターミナルを開きます。しかし、私がffmpegコードで部品を追加すると、クラッシュします。エラーは明らかに "$"で表示されますが、それはエラーとして何が点灯しているのか、エラーメッセージに "期待される行の終わりですが、未知のトークンが見つかりました"と表示されます。援助を探してください。私は "$"が必要です。なぜなら、これらはファイルを改名するためにループを動作させるものなのです。

答えて

0

あなたが使用して文字列を渡すとき「この行はなり

: スクリプトを行う」\引用符をエスケープする必要がある*の.flvの中でFのために、 ffmpeg -i \ "$ f \" -acodec libmp3lame -b:256k \ "$ {f%.flv} .mp3 \" & & rm \ "$ f \";

+0

私は何か類似したことを読んだが、間違った場所にスラッシュを置いた。ありがとう。 –

関連する問題