Variables 为列表中的每个项目应用脚本重复命令。作为变量添加到命令中的每一行
我有一个电影标题列表,存储在AppleScript中的变量Variables 为列表中的每个项目应用脚本重复命令。作为变量添加到命令中的每一行,variables,applescript,repeat,Variables,Applescript,Repeat,我有一个电影标题列表,存储在AppleScript中的变量movie\u titles中 {"Beautiful Girl 2014 The Aerialist 2020 Yvonne Orji Momma I Made It 2020 Dead Stop 2011 "} 我需要为列表中的每个标题运行一个命令。打开一个URL,其中列表的每个标题都是该URL的一部分。结果是在默认浏览器中打开的列表中的每个项目都有一个选项卡 repeat with i in movie_tit
movie\u titles
中
{"Beautiful Girl 2014
The Aerialist 2020
Yvonne Orji Momma I Made It 2020
Dead Stop 2011
"}
我需要为列表中的每个标题运行一个命令。打开一个URL,其中列表的每个标题都是该URL的一部分。结果是在默认浏览器中打开的列表中的每个项目都有一个选项卡
repeat with i in movie_titles
do shell script "open 'http://www.imdb.com/find?ref_=nv_sr_fn&q= " & movie_titles & "&s=tt&ttype=ft'"
end repeat
这适用于一个列表,但它会将多个列表的每一行添加到URL中。我意识到,我需要第二个变量来连续获取每一行并将其添加到每个repeat语句中,但我不确定如何将其添加到repeat语句中
我想我找不到一个好的例子,因为我不确定使用哪个搜索词/短语。如果您能提供一个答案和一个简短的解释,我将不胜感激。您需要在行尾分解输入字符串以创建列表项。AppleScript文本对象有一个
段落
元素,该元素使用return、linefeed或return/linefeed作为分隔符,因此您可以执行以下操作:
set movieTitles to "Beautiful Girl 2014
The Aerialist 2020
Yvonne Orji Momma I Made It 2020
Dead Stop 2011"
repeat with anItem in paragraphs of movieTitles
if contents of anItem is not "" then -- skip blank lines
do shell script "open 'http://www.imdb.com/find?ref_=nv_sr_fn&q=" & anItem & "&s=tt&ttype=ft'"
end if
end repeat
没有任何连接,您的“列表”只是单个字符串项-您如何尝试获取这些项(对话框、文件等)?确定。我使用了不正确的术语。我需要在重复循环中单独使用该列表中的每个项。就目前而言,它没有这样做。您的列表只有一项(字符串)-如何获取文本?字符串用逗号分隔。这些值不是用逗号分隔的,这是一个列表。是的,您的单个字符串在一个列表中。您是想拆分一些输入字符串,还是单个项目应该已经是一个列表?谢谢。出于某种原因,我不得不从第一行末尾删除
as list
,我将剪贴板项目保存到一个变量中,以便段落
工作。啊,这更有意义,这就是为什么我问你从哪里获取文本的原因。您只是将整个剪贴板字符串强制为单个列表项。@John最好使用打开位置
——这是一个内置的AppleScript函数,而不是执行shell脚本
,这最终是一系列非常迂回的操作,最终发送了与open location完全相同的GURL
Apple事件。您可以将do shell脚本
行替换为更简单的打开位置“http://www.imdb.com/find?s=tt&ttype=ft&q=“&anItem
@red\u如果您愿意的话,请提出另一个问题。如果我想重复同样的列表,并分开标题和每行的日期,我会怎么做呢。我需要将年份和日期分配给不同的变量<代码>在电影标题的段落中用y重复将电影标题设置为y的文本1到-6将电影年份设置为y的文本4到-1结束重复我只得到列表的最后一行{“死站”,“2015”}@John,您只需要按照shell脚本所需的顺序连接字符串和变量。您的结果似乎表明您正在创建另一个列表。