如何检查脚本 运行 打开的插图画家版本,以及基于该脚本的分支脚本?
How to check for version of illustrator that script is running on, and branch script based off that?
我的团队使用不同版本的 Adobe Illustrator,或者安装了多个版本的软件,我遇到了很多问题。
有没有办法检查作为 运行 脚本的 adobe 应用程序的版本?
特别是知道它是 32 位还是 64 位?
我需要正确定义#target 和BridgeTalk.target 以便脚本在当前打开的应用程序中运行。 (脚本是 运行 直接来自脚本文件)
我似乎找不到关于该主题的任何可靠文档。
有没有人有类似的问题并找到解决方案或解决方法?
(遗憾的是,将所有adobe软件更新为单一版本是不可能的)
您可以通过调用app.version
找到应用程序版本
$.writeln(app.version)
但是好像没办法知道是32位还是64位
也许 Extendscript 帮助器对象可以为您提供更多信息。例如
$.writeln($.os)
@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;
}
这将检查应用程序的版本,以及它是 32 位还是 64 位(不是 os):
$.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)
。在这种情况下,您将不得不使用其他方法。
我的团队使用不同版本的 Adobe Illustrator,或者安装了多个版本的软件,我遇到了很多问题。
有没有办法检查作为 运行 脚本的 adobe 应用程序的版本? 特别是知道它是 32 位还是 64 位?
我需要正确定义#target 和BridgeTalk.target 以便脚本在当前打开的应用程序中运行。 (脚本是 运行 直接来自脚本文件)
我似乎找不到关于该主题的任何可靠文档。 有没有人有类似的问题并找到解决方案或解决方法? (遗憾的是,将所有adobe软件更新为单一版本是不可能的)
您可以通过调用app.version
找到应用程序版本
$.writeln(app.version)
但是好像没办法知道是32位还是64位
也许 Extendscript 帮助器对象可以为您提供更多信息。例如
$.writeln($.os)
@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;
}
这将检查应用程序的版本,以及它是 32 位还是 64 位(不是 os):
$.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)
。在这种情况下,您将不得不使用其他方法。