如何使用plist中“ file-bookmark”条目中的信息?


3

我正在尝试创建一个Shell脚本,或者不太理想的是一些AppleScript,该脚本与Finder的Go→中列出的文件夹进行交互Recent Folders

该列表的内容与FXRecentFoldersFinder首选项中的键一起存储为数组。即,您可以像这样对他们: defaults read ~/Library/Preferences/com.apple.finder FXRecentFolders

最终,您可以file-bookmark在此数组中找到类型。而且我不知道该如何制作内容的正面或反面。以下是示例输出:

{
    "file-bookmark" = <626f6f6b 64030000 00000410 30000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 48020000 04000000 03030000 00020000 05000000 01010000 55736572 73000000 08000000 01010000 64676f6c 646d616e 09000000 01010000 446f776e 6c6f6164 73000000 0c000000 01060000 10000000 20000000 30000000 08000000 04030000 03d20900 00000000 08000000 04030000 609a0a00 00000000 08000000 04030000 dd671d00 00000000 0c000000 01060000 58000000 68000000 78000000 08000000 00040000 41befdbe 93000000 18000000 01020000 02000000 00000000 0f000000 00000000 00000000 00000000 00000000 01050000 08000000 04030000 01000000 00000000 04000000 03030000 f6010000 08000000 01090000 66696c65 3a2f2f2f 0b000000 01010000 64757374 6f2d6469 736b6f00 08000000 04030000 00604664 3a000000 08000000 00040000 41c08d88 bb5c20ea 24000000 01010000 43324138 35354643 2d384536 342d3438 34312d41 3837382d 43364338 43433931 30444246 18000000 01020000 81000000 01000000 ef130000 01000000 00000000 00000000 01000000 01010000 2f000000 b3000000 01020000 61383137 65633932 63303266 64306461 37353433 34386362 64656162 39363766 35643433 66313530 3b30303b 30303030 30303030 3b303030 30303030 303b3030 30303030 30303b30 30303030 30303030 30303030 3032303b 636f6d2e 6170706c 652e6170 702d7361 6e64626f 782e7265 61642d77 72697465 3b30313b 30313030 30303034 3b303030 30303030 30303031 64363764 643b3031 3b2f7573 6572732f 64676f6c 646d616e 2f646f77 6e6c6f61 64730000 e4000000 feffffff 01000000 00000000 12000000 04100000 44000000 00000000 05100000 88000000 00000000 10100000 ac000000 00000000 40100000 9c000000 00000000 02200000 80010000 00000000 05200000 f0000000 00000000 10200000 00010000 00000000 11200000 34010000 00000000 12200000 14010000 00000000 13200000 24010000 00000000 20200000 60010000 00000000 30200000 cc000000 00000000 01c00000 d4000000 00000000 11c00000 20000000 00000000 12c00000 e4000000 00000000 01d00000 cc000000 00000000 10d00000 04000000 00000000 80f00000 8c010000 00000000>;
    name = Downloads;
}

是否有命令行工具,一些简单的Swift或其他我可以投入使用以帮助完成此任务的工具?

Answers:


1

输入的数据file-bookmarks可以转换为NSURL对象。如果你知道至少有一点关于MacOS的程序,可以使用加载这个数据UserDefaults系统,并使用解析它放回路径NSURLURLByResolvingBookmarkData方法。

在StackOverflow上有一些Objective-C 示例代码,这些代码仍可在Mojave上运行,从中读取数据FXRecentFolders并输出到stdout的路径。我对Swift不够熟练,但是将其转换为等效的Swift可能并不困难。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.