AppleScript在finder中获取单个选定文件的名称

时间:2014-04-22 03:13:15

标签: applescript selection finder

我想获取当前在finder窗口中所选文件的名称。我在OS X 10.9.2下工作。

这是我的代码:

display dialog "test"
tell application "Finder"
  set theItems to selection
  display dialog number of theItems
  repeat with itemRef in theItems
    display dialog name of itemRef
  end repeat
end tell

在Finder中我只选择了一个mp3文件。 如果我运行脚本,则会显示带有“test”的对话框和带有“1”的对话框。但后来我收到错误消息,该文件无法转换为类型字符串。

我希望你能帮助我修复这个错误,我提前感谢你的回复!

2 个答案:

答案 0 :(得分:3)

文件的name属性已经是文本(或字符串)类型。您没有正确地将对话框语句括起来。

display dialog (get name of itemRef)

答案 1 :(得分:1)

  

文件无法转换为类型字符串。

然后将其转换为字符串。

display dialog (name of itemRef) as string

我建议您使用log代替display dialog进行调试。

例如,log name of itemRef将返回(在“事件”和“回复”窗口中):

  

文件夹桌面的文件文件123.jpg的名称   文件夹Saturnix文件夹启动盘用户

正如您所看到的,这比简单的测试字符串(如"123.jpg")要复杂得多。这告诉您name of itemRef没有返回文件itemRef的实际名称,而是返回该名称的引用。幸运的是,在该引用上调用as string将返回文件的实际名称。