gpt4 book ai didi

terminal - 预期行尾,但发现未知 token

转载 作者:行者123 更新时间:2023-12-04 23:03:05 25 4
gpt4 key购买 nike

好的,经过几天的搜索,我来了。我是 ffmpeg、applescript 和终端的新手。

我想使用 ffmpeg 批量转换任何文件夹中的一组选定文件。通过在文件夹位置打开终端并使用以下代码,我成功地做到了这一点:

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

它找到所有 flv 文件,并将其转换为 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 代码的部分时,它会崩溃。错误显然与“$”有关,这些错误显示为错误,错误消息显示“预期行尾,但发现未知 token ”。请寻求一些帮助。我需要“$”,因为这些是使循环用于重命名文件等的原因。

最佳答案

当您使用\"传递字符串时,您必须转义引号

该行变为:
do script "for f in *.flv; do ffmpeg -i\"$f\"-acodec libmp3lame -b:a 256k\"${f%.flv}.mp3\"&& rm\"$f\";完毕”

关于terminal - 预期行尾,但发现未知 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44609570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com