簡體   English   中英

在Finder中獲取所選文件的路徑

[英]Get Path to selected file in Finder

如何在Finder中檢索所選文件的路徑數組?

我一直在搜索,但只發現了AppleScript的鏈接。 我也看過NSWorkspaceNSFileManager但我沒找到任何東西。

擴展@ Bavarious的(正確的)答案,這是我如何使用腳本橋從Finder中選擇:

#import "Finder.h" //my copy is here: https://github.com/davedelong/BetterInfo/blob/master/Finder.h

FinderApplication * finder = [SBApplication applicationWithBundleIdentifier:@"com.apple.finder"];
SBElementArray * selection = [[finder selection] get];

NSArray * items = [selection arrayByApplyingSelector:@selector(URL)];
for (NSString * item in items) {
    NSURL * url = [NSURL URLWithString:item];
    NSLog(@"selected item url: %@", url);
}

如果可以使用AppleScript在給定的Finder窗口中獲取所選文件的列表,則可以在Cocoa應用程序中使用Scripting Bridge與Finder進行交互。 引用Apple的文檔,

Scripting Bridge是一種框架和技術,使Cocoa開發人員可以更輕松地控制和編寫可編寫腳本的應用程序。 您可以簡單地將Objective-C消息發送到代表具有腳本界面的應用程序的對象,而不是將AppleScript腳本合並到應用程序中或處理發送和處理Apple事件的復雜性。 您的Cocoa應用程序可以執行AppleScript腳本可以執行的任何操作,但它可以在與項目代碼的其余部分集成的Objective-C代碼中執行。

沒有Cocoa類代表Finder,或者更具體地說,是Finder窗口。 Finder是一個應用程序,也是一個可編寫腳本的應用程序,因此Scripting Bridge是最佳選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM