获取Finder前窗的POSIX路径

and*_*reb 3 cocoa finder objective-c

如何获取当前位于窗口列表顶部的Finder窗口的POSIX路径?最好使用某种Cocoa框架,但我可以随意使用.

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

[[NSWorkspace sharedWorkspace] subpathsAtPath:thePath]
Run Code Online (Sandbox Code Playgroud)

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

[[NSWorkspace sharedWorkspace] selectFile:aFile inFileViewerRootedAtPath:thePath]
Run Code Online (Sandbox Code Playgroud)

循环遍历由grep返回的条目生成的NSArray的循环.

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

谢谢你查看我的问题!

安德烈

PS:我不确定grep部分,也许我只是在那里拍RegexKit Lite ......

Rhy*_*man 5

您可以通过AppleScript向Finder询问此问题.

这个*单行为我工作:

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

*修改后的版本这个.