首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OSX Lion中使用rb-appscript获取Finder中当前选定文件的路径

如何在OSX Lion中使用rb-appscript获取Finder中当前选定文件的路径
EN

Stack Overflow用户
提问于 2011-08-08 09:01:35
回答 1查看 626关注 0票数 0

在OSX 10.6中,我使用以下代码对Finder中当前选择的每个文件执行某些操作:

代码语言:javascript
复制
app('Finder').selection.get.each do |item|
  url =CGI::unescape(item.URL.get)
  puts url
  do_pdf(url[16..-1])
end

(由Keyboard Maestro启动)。这工作得很好,然而在OSX Lion中,这种行为似乎发生了变化。

查找器仍然返回正确的参考应用程序(‘app"/System/Library/CoreServices/Finder.app"disks"Home"folders"stian"folders"Downloads"document_files"Comprehensive’).selection.get =>查找器检查(1).doc“

然而,当我尝试用URL.get提取它时,我得到了一个奇怪的数字:app('Finder').selection.get[0].URL.get => "file:///.file/id=6637683.2924283"

如何获取上述引用并将POSIX路径作为文本字符串(/Home/stian/Downloads/Comprehensive (1).doc)?

我可以获得整个参考的文本版本,如下所示:app('Finder').selection.get[0].get.to_s => "app("/System/Library/CoreServices/Finder.app").disks["Home"].folders["stian"].folders["Downloads"].document_files["Comprehensive Examination (1).doc"]"

因此,我想我可以手动解析它并构造POSIX路径,但这似乎非常麻烦和脆弱。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-09 02:35:01

代码语言:javascript
复制
app('Finder').selection.get(resulttype=k.alias)[0].path

我猜在Ruby中应该是

代码语言:javascript
复制
app('Finder').selection.get(:result_type=>:alias)[0].path
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6976898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档