通过shell脚本或Applescript访问Mac上SMB安装的NAS上的文件的“服务器”字段

时间:2016-03-31 21:19:38

标签: swift macos applescript automator smb

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

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

有没有人有其他想法?也许Shellscripts?

谢谢! 史蒂夫

docs

1 个答案:

答案 0 :(得分:0)

可以从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")

下面的脚本给出了一个选择文件并显示服务器(如果有)的示例。它解析结果只在quote(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