objective-c - 获取 Finder 前窗的 POSIX 路径

标签 objective-c cocoa finder

如何获取当前位于窗口列表顶部的 Finder 窗口的 POSIX 路径? 最好使用某种 Cocoa 框架,但我对任何事情都持开放态度。

背景: 我需要这个,因为我想选择匹配正则表达式模式的文件,从这个路径递归开始。这个想法是使用

[[NSWorkspace sharedWorkspace] subpathsAtPath:thePath]

获取此路径的所有后代的方法,在 NSTask 中使用“grep”(以避免打包正则表达式支持框架)并使用

[[NSWorkspace sharedWorkspace] selectFile:aFile inFileViewerRootedAtPath:thePath]

在循环中循环遍历由 grep 返回的条目组成的 NSArray。

到目前为止,我已经查看了 NSWorkspace、NSFileManager 和 NSApplication 以及 Xcode 文档中的其他关键字搜索。

感谢您查看我的问题!

安德烈

PS:我不确定 grep 部分,也许我会在那里打 RegexKit Lite ...

最佳答案

您可以通过 AppleScript 询问 Finder。

这个* one-liner 对我有用:

osascript -e 'tell application "Finder" to set myname to POSIX path of (target of window 1 as alias)'

* this 的修改版本.

关于objective-c - 获取 Finder 前窗的 POSIX 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1048666/

相关文章:

objective-c - UITableView 使用 UIPIckerView 滚动到特定部分?

macos - 在 cocoa 绑定(bind)中合并两个属性

macos - OS X 上事件文档更改的通知?

objective-c - 当 Tabbar 项目更改时,UITabbar 会丢失上下文

objective-c - 如何从 iOS 上的 GUI 元素合成图像?

swift - 如何查询 Finder NSURL?

HTML:类似 Mac 和类似 Windows 的文件浏览器 UI

cocoa - 如何获取文件的 Finder "Kind"?

objective-c - 如何在 NSTextField 中实时捕获用户输入?

cocoa - 通过 NSOrderedSet 对 NSArray 进行排序