У меня довольно большая проблема, так как моя команда работает над разными версиями Adobe Illustrator или у меня установлено несколько версий программного обеспечения.
Есть ли способ проверить версию приложения Adobe, выполняющего скрипт? Особенно зная, 32 или 64 бит?
Мне нужно правильно определить #target и BridgeTalk.target, чтобы скрипт работал в текущем открытом приложении. (Скрипт запускается прямо из файла скрипта)
Кажется, я не могу найти какую-либо основательную документацию по этой теме. У кого-нибудь была похожая проблема и найдены и решения или обходные пути? (К сожалению, обновление всего Adobe программного обеспечения до единой версии не может быть и речи)
apoltoranos 3 Ноя 2015 в 12:42
3 ответа
Лучший ответ
Вы можете найти версию приложения, позвонив app.version
$.writeln(app.version)
Но, кажется, нет никакого способа узнать, 32-битный или 64-битный
Возможно, вспомогательный объект Extendscript может дать вам еще немного информации. например
ВЗЛОМ ЛЮБОЙ ПРОГРАММЫ ADOBE
$.writeln($.os)
fabianmoronzirfas 3 Ноя 2015 в 11:02
Это позволит проверить, какая версия приложения, а также, является ли она 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) . В этом случае вам придется использовать другие способы.
Ziki 4 Ноя 2015 в 04:57
Используя ваши советы, я разработал кусок кода, который, кажется, делает свое дело (но ему не хватает элегантности: 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 😛 var string = String($.os); if(string.indexOf(«emulation») >-1) < $.writeln(«32 bit code here»); >else < $.writeln(«64 bit code here»); >break; default: break; >
Источник: question-it.com
Как узнать версии установленных приложений Adobe
В некоторых случаях вам может потребоваться отчет по версиям приложений Adobe, которые установлены на том или ином компьютере с ОС macOS или Windows. Его можно создать вручную, но иногда вы можете захотеть получить эту информацию в текстовом файле, подходящем для обработки с помощью сценария или централизованного сбора. Из этой статьи вы узнаете, как собирать такие данные.
Windows
Выполните следующую команду в PowerShell, чтобы отобразить список приложений Adobe и их номера версий:
Как получить бесплатную подписку на Adobe Creative Cloud — Photoshop, Illustrator…
Get-ItemProperty HKLM:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize | findstr Adobe
macOS
Выполните следующую команду в терминале, чтобы отобразить список; его можно перенаправить в файл, передать другому приложению для дальнейшей обработки или вывести в формате XML:
Источник: helpx.adobe.com
Как проверить версию иллюстратора, на которой работает скрипт, и от этого работает сценарий ветвления?
У меня довольно проблема, так как моя команда работает с различными версиями Adobe Illustrator или имеет несколько версий установленного программного обеспечения.
Есть ли способ проверить версию приложения adobe, которое запускает скрипт? Особенно, если это 32 или 64 бит?
Мне нужно правильно определить #target и BridgeTalk.target, чтобы скрипт работал в текущем открывшемся приложении. (Скрипт выполняется непосредственно из файла сценария)
Кажется, я не могу найти твердую документацию по этой теме. Кто-нибудь сталкивался с подобной проблемой и находил решения и способы их решения? (Обновление программного обеспечения adobe для одиночной версии, к сожалению, неясно)
Лучший ответ:
вы можете найти версию приложения, вызвав app.version
$.writeln(app.version)
Но, похоже, нет способа узнать, 32 или 64 бит
возможно, вспомогательный объект Extendscript может предоставить вам дополнительную информацию. например
$.writeln($.os)
Это обязательно проверит, какая версия приложения, а также 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) . В этом случае вам придется использовать другие способы.
Используя ваши советы, я придумал фрагмент кода, который, кажется, делает трюк (но ему не хватает элегантности: 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 😛 var string = String($.os); if(string.indexOf(«emulation») >-1) < $.writeln(«32 bit code here»); >else < $.writeln(«64 bit code here»); >break; default: break; >
Источник: techarks.ru