除了使用RCDefaultApp或Magic Launch还是重复按Finder信息面板中的全部更改按钮,还有什么更方便的选择?
我考虑过编写一个外壳脚本,该脚本将修改Info.plist文件中的CFBundleDocumentTypes数组。但是每个应用程序都有多个需要更改的键(有时是图标)。
lsregister
不能用于对Launch Services数据库进行特定的修改。
$ `locate lsregister` -h
lsregister: [OPTIONS] [ <path>... ]
[ -apps <domain>[,domain]... ]
[ -libs <domain>[,domain]... ]
[ -all <domain>[,domain]... ]
Paths are searched for applications to register with the Launch Service database.
Valid domains are "system", "local", "network" and "user". Domains can also
be specified using only the first letter.
-kill Reset the Launch Services database before doing anything else
-seed If database isn't seeded, scan default locations for applications and libraries to register
-lint Print information about plist errors while registering bundles
-convert Register apps found in older LS database files
-lazy n Sleep for n seconds before registering/scanning
-r Recursive directory scan, do not recurse into packages or invisible directories
-R Recursive directory scan, descending into packages and invisible directories
-f force-update registration even if mod date is unchanged
-u unregister instead of register
-v Display progress information
-dump Display full database contents after registration
-h Display this help
duti
下次尝试另一个可重新注册数十种文件类型的应用程序时,我会旋转一下。