swift - 通过 shell 脚本或 Applescript 在 Mac 上安装 SMB 的 NAS 上访问文件的 "Server"字段

标签 swift macos applescript automator smb

在 osx 中,通过 SMB 从 NAS 加载的文件的信息窗口包含一个名为“服务器”的字段,其中包含字符串的完整路径,例如“SMB://server.com/path/to/file.txt”

不幸的是,系统事件的服务器属性似乎不再起作用。苹果,这些天你让我心碎。

还有人有其他想法吗?也许是 Shellscript?

谢谢! 史蒂夫

Old Example that no longer works

最佳答案

该属性可以从 shell 指令 mdls 中读取。本说明假设您的卷具有 Spotlight 索引(几乎所有 Mac 卷都应该如此......!)。

mdls 指令在终端上运行,或通过 do shell 脚本命令中的 Applescript 运行。您的文件路径/名称必须以 Unix 格式 (posix) 提供

语法可以是:“mdls/path/to/your/file” -> 它为您提供文件的所有属性(许多)。

您还可以定义要显示的属性。在您的情况下,属性是 kMDItemWhereFroms,因此语法是: mdls -name kMDItemWhereFroms path/to/your/file

结果的格式为:kMDItemWhereFroms = ("http://xxxxxx")

下面的脚本给出了一个选择文件并显示服务器(如果有)的示例。它解析结果以仅获取引号之间的文本(car 34)

set theFile to ((choose file) as string)
set Source to do shell script "mdls -name kMDItemWhereFroms " & quoted form of (POSIX path of theFile)
set AppleScript's text item delimiters to {ASCII character 34} -- the char "
if (count of text item of Source) > 2 then
set myServer to text item 2 of Source
else
set myServer to ""
end if
display dialog myServer

关于swift - 通过 shell 脚本或 Applescript 在 Mac 上安装 SMB 的 NAS 上访问文件的 "Server"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36344005/

相关文章:

swift - PromiseKit firSTLyOn 样式方法

node.js - 在 MAC 上本地运行定时器触发的 azure 函数(在 docker 中)

macos - 通过 AppleScript 更改 Mac 壁纸

ios - 介于 0.0 和 1.0 之间的界限值是什么意思?

ios - 将 subview 固定到 stackview 的前缘和后缘

cocoa - 寻找 UIWebViewDelegate 的等效项,用于将 iOS 应用程序移植到 OSX

swift - 我怎样才能尽可能一般地从 OSX 上最前面的窗口/文档中获取所有文本?

cocoa - 用于创建将应用程序与 AppleScript 集成所需文件的工具

swift、numberOfRowsInSection 和 cellForRowAt 函数不返回值

objective-c - 使用助手发布的 NSUserNotification 打开主应用程序