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

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

相关·内容

Java文件路径服务器路径获取

Java文件路径获取 几种获取方式 getResourceAsStream ()返回是inputstream getResource()返回:URL Class.getResource(“”)...,很多时候提示文件找不到,而抛出了异常,现在整理如下 1、相对路径获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般Java项目还是web项目) String...relativelyPath=System.getProperty(“user.dir”); 上述相对路径中,java项目中文件是相对于项目的根目录 web项目中文件路径视不同web服务器不同而不同...(test.txt文件路径为项目名\src\test.txt,类Test1所在包第一级目录位于src目录下) 3、web项目根目录获得(发布之后) (1)从servlet...realPath = F:\tomcat_home\webapps\项目名称\ //获取是项目的绝对路径(Tomcat服务器中项目所在目录) basePath = http://localhost

4.3K20
  • Android如何通过URI获取文件路径示例代码

    前言 最近在工作过程中,遇到不同 Android 版本下 URI 采用不同方式来获取文件路径问题。...因为需求原因,要求拍照上传或者从相册中选择图片上传,而且图片是需要经过压缩,大小不能超过2M。 很快,拍照这部分就搞定了。那么相册中选择图片也是一样道理,应该也是轻松解决了。...至于选择图片代码,如下所示: intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE...最关键来了,如果通过 URI 来获取文件呢? 比如,现在 URI 为 content://media/extenral/images/media/17766 ,而我们需要得到对应文件路径。...这是因为在 Android 4.4 及以上机型,使用了 DocumentUri 来代表获取文件 URI 。 所以我们又要对于 DocumentUri 进行适配。

    4K00

    Java 中几种获取文件路径方式

    前言 Java 开发中我们经常要获取文件路径,比如读取配置文件等等。今天我们就关于文件路径如何读取文件简单地探讨一下。 2. 文件路径 文件路径通常有 相对路径 与 绝对路径。...2.1 相对路径 以当前文件为基准进行一级级目录指向被引用资源文件。在 Java 代码中以当前运行代码所在位置为参照位置,只要被引用文件相对于引用文件位置不变就可以被读取到。...2.2 绝对路径 文件文件系统中真正存在路径,是指从硬盘根目录(Windows为盘符)开始,进行一级级目录指向文件(从根目录一层层读写)。...Java 中通过java.io.File 来进行文件操作。并且提供了以下三个方法来获取文件路径。 3.1 getPath 该方法返回文件抽象路径字符串形式。...因为速记符存在,一个文件文件系统中 绝对路径 可以有很多个。 3.3 getCanonicalPath 速记符 不被解析有时候是很痛苦事,我们可能需要知道具体路径

    11.2K20

    如何在 MSBuild 项目文件 csproj 中获取绝对路径

    通常我们能够在 csproj 文件中仅仅使用相对路径就完成大多数编译任务。但是有些外部命令执行需要用到绝对路径,或者对此外部工具来说,相对路径具有不同含义。...这个时候,就需要将相对路径在 csproj 中转换为绝对路径来使用。 本文介绍如何在项目文件 csproj 中将一个相对路径转换为绝对路径。...在 MSBuild 4.0 中,可以在 csproj 中编写调用 PowerShell 脚本代码,于是获取一个路径绝对路径就非常简单: 1 [System.IO.Path]::GetFullPath...WalterlvRelativePath))) 这样,就可以使用 $(_WalterlvAbsolutePath) 属性来获取绝对路径...你可以阅读我其他篇博客了解到 $(OutputPath) 其实最终都会是相对路径: 项目文件已知属性(知道了这些,就不会随便在 csproj 中写死常量啦) - walterlv 如何更精准地设置

    25830

    IOS中获取各种文件目录路径方法

    iphone沙箱模型有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器路径简单方式是什么. documents,tmp,app,Library。...(NSHomeDirectory()), 手动保存文件在documents文件里 Nsuserdefaults保存文件在tmp文件夹里 1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下...获取这些目录路径方法: 1,获取家目录路径函数: NSString *homeDir = NSHomeDirectory(); 2,获取Documents目录路径方法: NSArray *paths...(); 5,获取应用程序程序包中资源文件路径方法: 例如获取程序包中一个图片资源(apple.png)路径方法: NSString *imagePath = [[NSBundle mainBundle...iphone沙盒(sandbox)中几个目录获取方式: [cpp] view plain copy // 获取沙盒主目录路径   NSString *homeDir =

    5.6K20

    如何使用PHP Malware Finder检测主机中潜在恶意PHP文件

    关于PHP Malware Finder PHP Malware Finder是一款针对主机安全和PHP安全强大检测工具,在该工具帮助下,广大研究人员可以轻松检测其主机或服务器中可能存在潜在恶意...PHP Malware Finder本质上就是一款恶意软件检测工具,它将尽其所能地去检测那些经过代码模糊/混淆处理恶意代码,以及潜在恶意PHP文件中所使用各种PHP功能函数。...功能介绍 PHP Malware Finder支持检测跟下列编码器、代码混淆工具和Webshell相关恶意PHP文件: Bantam Best PHP Obfuscator Carbylamine...检测其实也并不负责,但PHP Malware Finder主要目的就是帮助我们检测一些比较明显和常见恶意文件。...工具运行机制 整个检测过程是通过对目标主机或服务器文件系统进行数据爬取来实现,并根据一组YARA规则测试文件来执行恶意文件检测。没错,就是这么简单!

    1.9K10

    python如何获取preview里文件

    问题如下: 请教一下各位大佬,python如何获取preview里文件? 二、实现过程 这里【提请问粘给图截报错贴代源码】给了一个思路:requests这个链接就可以了。...后来粉丝自己请求时候,发现了一个问题:我请求头都是按照抓到东西写,请问各位大佬为什么会报404。 后来【瑜亮老师】指导道:post请求,一般都会加上data,内容就在payload中。...顺利地解决了粉丝问题。 粉丝自己在请求参数时候,带了明文密码,这个还是不建议,也提醒下大家记得加密! 如果你也有类似这种Python相关小问题,欢迎随时来交流群学习交流哦,有问必答!...通过这个粉丝需求问答,我们确切感受到了AI助力Python实战需求能力了,我最近也是一直在接触AIGC,从最开始ChatGPT到最近火爆出圈Sora,也建立了自己AIGC分享群,目前也带动了500...这篇文章主要盘点了一个Python网络爬虫实战问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

    16010
    领券