2015-04-25 2 views
1

Я пишу applescript, который найдет файл для меня на основе имени файла, включая расширение. Скрипт использует mdfind в оболочке bash. Я имел счастье с этой конструкцией: имяmdfind с одинарными кавычками

mdfind: «filename.avi"»

Но это ломается, когда мое имя файла имеет одинарную кавычку (апостроф) в нем, как так:

mdfind название: «MST3K - S05E13 - Мозг, который не будет Die.avi"»

Я пытался избежать одинарные кавычки с помощью обратной косой черты, но не кости:

mdfind имя:" MST3K - S05E13 - Мозг, который не умрет. "

Что я делаю неправильно? Благодарю.

ответ

0

Попробуйте это и проверите результат, так что вы увидите, как вы должны процитировать его с помощью апострофов, вы должны, конечно, удалить двойные кавычки. И вы также должны открыть справочную страницу для 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'" 
+0

Круто спасибо большое. –