首页
学习
活动
专区
工具
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路径了。

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

相关·内容

共50个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-1
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
共50个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-2
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
共50个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-3
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
共18个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-4
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
领券