首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取Finder选择的文件的posix路径?

获取Finder选择的文件的posix路径可以通过以下步骤实现:

  1. 使用AppleScript编写一个脚本,该脚本可以获取Finder当前所选文件的路径。以下是一个示例脚本:
代码语言:applescript
复制
tell application "Finder"
    set selectedItems to selection
    if (count of selectedItems) is 1 then
        set selectedItem to item 1 of selectedItems
        set itemPath to POSIX path of (selectedItem as alias)
        return itemPath
    else
        return "请选择一个文件"
    end if
end tell
  1. 将上述脚本保存为一个独立的AppleScript文件,例如"get_selected_file_path.scpt"。
  2. 在你的开发工程中,使用合适的方法来执行该AppleScript脚本并获取返回的posix路径。具体方法取决于你使用的编程语言和开发环境。

以下是一些常见的编程语言和开发环境的示例代码:

  • Objective-C:
代码语言:objective-c
复制
NSAppleScript *script = [[NSAppleScript alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/path/to/get_selected_file_path.scpt"] error:nil];
NSDictionary *errorInfo = nil;
NSAppleEventDescriptor *result = [script executeAndReturnError:&errorInfo];
if (!errorInfo) {
    NSString *posixPath = [result stringValue];
    NSLog(@"%@", posixPath);
} else {
    NSLog(@"执行脚本出错:%@", errorInfo);
}
  • Swift:
代码语言:swift
复制
import Foundation

let scriptURL = URL(fileURLWithPath: "/path/to/get_selected_file_path.scpt")
var error: NSDictionary?
if let script = NSAppleScript(contentsOf: scriptURL, error: &error) {
    if let output = script.executeAndReturnError(&error).stringValue {
        print(output)
    } else if let error = error {
        print("执行脚本出错:\(error)")
    }
} else if let error = error {
    print("加载脚本出错:\(error)")
}
  • Python(使用osascript命令执行脚本):
代码语言:python
代码运行次数:0
复制
import subprocess

script_path = "/path/to/get_selected_file_path.scpt"
result = subprocess.run(["osascript", script_path], capture_output=True, text=True)
if result.returncode == 0:
    posix_path = result.stdout.strip()
    print(posix_path)
else:
    print(f"执行脚本出错:{result.stderr}")

请注意,上述示例代码中的"/path/to/get_selected_file_path.scpt"应替换为实际保存脚本的路径。

这样,你就可以通过执行上述代码来获取Finder选择的文件的posix路径了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

18分15秒

Java零基础-341-获取类路径下文件的绝对路径

1分51秒

如何选择合适的PLC光分路器?

45秒

选择hhdesk的理由三【文件对比功能】

6分49秒

08-如何获取插件的帮助信息

2分38秒

2.6 如何重写回源URL为源站上的实际资源路径

1分1秒

BOSHIDA 如何选择适合自己的DC电源模块?

1分22秒

选择hhdesk的理由四【文件夹对比功能】

1分40秒

如何获取苹果设备的UDID(iPhoneiPad UDID查询方法)

2分14秒

语音芯片怎么录音 以及如何选择合适的录音芯片2

5分12秒

python开发视频课程5.12如何获取指定元素出现的次数

1分40秒

如何获取苹果设备的UDID(iPhone/iPad UDID查询方法)

1分29秒

源码与SaaS账号:如何选择最适合你的部署方式

领券