mdfind 带单引号

mdfind with single quotes

我正在编写一个 applescript,它将根据文件名(包括扩展名)为我找到一个文件。该脚本在 bash shell 中使用了 mdfind。我对这个结构很幸运:

mdfind 名称:'"filename.avi"'

但是当我的文件名中有一个单引号(撇号)时它会崩溃,如下所示:

mdfind 名称:'"MST3K - S05E13 - The Brain That Wouldn't Die.avi"'

我试过用反斜杠转义单引号,但没有骰子:

mdfind 名称:'"MST3K - S05E13 - The Brain That Wouldn\'t Die.avi"'

我做错了什么?谢谢。

试试这个,并检查结果,这样你就会知道应该如何用撇号引用它,你当然应该删除双引号。你还应该打开 mdfind 的手册页,看看 name 命令是如何执行的。

set q to quoted form of "MST3K - S05E13 - The Brain That Wouldn't Die.avi"

set res to do shell script "mdfind -name 'MST3K - S05E13 - The Brain That Wouldn'\''t Die.avi'"