如何解决AppleScript << format of =“” disk =“” >>命令从脚本编辑器中运行,但另存为.app时失败的问题?

时间:2018-08-26 16:25:11

标签: applescript

以下脚本在AppleScript编辑器中运行时可根据需要运行,但在导出为.app并直接运行时则无法运行。

tell application "Finder"
    set fld to choose folder with prompt "Choose a volume" default location ("/Volumes")
    set n to name of fld
    set f to format of fld
    display dialog n & " is formatted as " & f
end tell

(*
When run from Script Editor result is:
   Macbook HD is formatted as Mac OS Extended format

When run from a compiled app result is:
   Macbook HD is formatted as «constant ****dfh+»
*)

我正在运行OS X 10.11.6(15G22010)。欢迎进行修复或解决。

1 个答案:

答案 0 :(得分:1)

问题在于$data = array_merge($var1, $var2); 是一个枚举常量(实际上是整数值)。无法在Mac OS Extended format Tell块之外访问它,并且在应用程序中,Finder行显然被视为在Tell块之外。您必须将枚举强制为文本。

我建议使用此代码,它使用display dialog的{​​{1}}类并列出磁盘

disk

编辑:由于错误,以上代码显然无法正常工作。

这是一种替代方法,在AppleScriptObjC和Foundation框架的帮助下

System Events