将AppleScript转换为一行

时间:2012-01-11 12:10:33

标签: random applescript text-files

我正在使用Mach Desktop将脚本的结果回显到Desklet中,因此它必须采用以下格式:

echo'告诉应用程序“iTunes”返回当前曲目的专辑'| osascript

我有一行输入数据,因此脚本需要是一个长字符串。 可能是整个事物必须包含在echo之后的一组单引号内,如下所示:

echo'[整个脚本]'| osascript

如何将下面的AppleScript转换为一行?

set some_file to "Macintosh HD:Users:Zade:Library:Application Support:Notational Data:Words.txt" as alias
set the_text to read some_file as string
set the text item delimiters of AppleScript to ", "
set the_lines to (every text item of the_text)
return some item of the_lines

以下是我正在尝试的内容:

echo 'set some_file to "Macintosh HD:Users:Zade:Library:Application Support:Notational Data:Words.txt" as alias -e set the_text to read some_file as string -e set the text item delimiters of AppleScript to ", " -e set the_lines to (every text item of the_text) -e return some item of the_lines' | osascript

这就产生了这个错误:

107:112:语法错误:“set”不能跟在此标识符之后。 (-2740)

1 个答案:

答案 0 :(得分:1)

我想你可以尝试这个脚本。不过,我对你实际想要完成的事情感到困惑,所以如果这个剧本不能令人满意,我会道歉。

echo 'set some_file to "~/Library/Application Support/Notational Data/Words.txt" as POSIX file as alias' -e 'set the_text to read some_file' -e 'set the text item delimeters of AppleScript to ","' -e 'set the lines to (every text item of the_text)' -e 'return the lines' | osascript

编辑: @Zade那是因为Words.txt不存在。别名仅指现有文件。因此,您必须选择存在的文件。这是一种简单的方法,可以查看文件引用的正确语法:

set some_file to (choose file)

您会注意到文件路径由冒号(:)而不是斜杠分隔。说完这个,选择一个存在的文件,然后用该文件运行脚本。