我想获取当前在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”的对话框。但后来我收到错误消息,该文件无法转换为类型字符串。
我希望你能帮助我修复这个错误,我提前感谢你的回复!
答案 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
将返回文件的实际名称。