由于我的团队在不同版本的Adobe Illustrator上工作,或者安装了多个版本的软件,因此我遇到了很多问题。
有没有办法检查运行脚本的adobe app的版本? 特别是知道它是32位还是64位?
我需要正确定义#target和BridgeTalk.target,以便脚本在当前打开的应用程序中运行。 (脚本直接从脚本文件运行)
我似乎无法找到有关该主题的任何可靠文档。 有没有人有类似的问题,发现和解决方案或解决方法? (遗憾的是,将所有adobe软件更新为单个版本是不可能的)
答案 0 :(得分:2)
您可以致电app.version
$.writeln(app.version)
但似乎无法确定它是32位还是64位
也许Extendscript帮助对象可以为您提供更多信息。例如
$.writeln($.os)
答案 1 :(得分:1)
这将检查应用程序的版本是什么,以及它是32位还是64位(不是操作系统):
$.writeln(app.version); //writes the app version
$.writeln((app.path.fsName.indexOf('Program Files (x86)') > -1)?'32 bit':'64 bit'); //writes the bit version of the app
此代码适用于您要检查的任何应用。
如果应用程序安装在其他位置Program Files
或Program Files (x86)
,我可以想到的唯一问题。在这种情况下,您将不得不使用其他方式。
答案 2 :(得分:0)
@fabiantheblind
使用你的提示我设计了一段似乎正在诀窍的代码(但它缺乏优雅:P)
switch(app.version.split(".")[0])
{
case "16":
//32 bit versions run in emulated enviorment, so the $.os returns string
//containing 'emulation' substring. Not entierly sure it is reliable :P
var string = String($.os);
if(string.indexOf("emulation") > -1)
{
$.writeln("32 bit code here");
}
else
{
$.writeln("64 bit code here");
}
break;
default:
break;
}