gpt4 book ai didi

macos - Applescript:无需打开即可获取.app的路径

转载 作者:行者123 更新时间:2023-12-01 23:50:50 29 4
gpt4 key购买 nike

我有以下处理程序;

on getAppPath(appName)
try
return POSIX path of (path to application appName)
on error
return "NOT INSTALLED"
end try
end getAppPath

当用例如“ImageOptim”调用时将返回“/Applications/ImageOptim.app/”。

我遇到的问题是这会在我的 Dock 中打开该应用程序,有没有办法在不发生这种情况的情况下获取此路径字符串?

谢谢。

最佳答案

的路径位于 Standard Additions 中,它必须启动应用程序才能获取返回值(某些 Apple 应用程序除外——例如,请参阅 TextEdit)。一个想法是查询 Launch Services Registry,它有所有可执行文件的记录,并使用 grep 来提取与您指定的应用程序名称匹配的路径。像这样的东西:

getAppPath("TextEdit.app")

on getAppPath(appName)
try
set launchServicesPath to "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister"

-- get the path to all executables in the Launch Service Registry that contain that appName
set appPaths to paragraphs of (do shell script launchServicesPath & " -dump | grep --only-matching \"/.*\\" & appName & "\"")
return appPaths

on error
return "NOT INSTALLED"
end try
end getAppPath

请注意,这会返回一个路径列表,因为可能有多个具有匹配字符串应用程序名称的可执行文件。因此,您需要考虑到这一点。

关于macos - Applescript:无需打开即可获取.app的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26636860/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com