[AI CC-CC2021] Возможно ли в JavaScript выполнять команды командной строки Windows?

Статус
Закрыто для дальнейших ответов.

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Интересует есть ли решение без запуска BAT - файла?
ну или запуск его в свернутом виде, без всплывания окошка командной строки.

Ну и как еще вариант, мне нужно изменить размер изображения в файле JPG средствами JavaScript, без обращения к ADOBE? Может какие внешние библиотеки можно подключить?
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 033
Реакции
1 200
Рекомендую почитать здесь, найдёте очень много интересного.

ЗЫ. упс, невнимательно прочел вопрос. Наверное, ссылка не поможет, но все равно полезная =)
 
Последнее редактирование:

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
изменить размер изображения в файле JPG средствами JavaScript
Экспорт jpg - как задать разрешение/Color mode?
без всплывания окошка командной строки
Вообще это кажется проблема и без использования сторонних утилит нельзя сокрыть: Скрытие консольных окон
 
Последнее редактирование:

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Дело в том, что в данном скрипте я не обращаюсь к иллюстратору, к командной строке вроде быстрее выходит. С помощью скрипта создаю в коде бат-файл и запускаю его, внутри батника получается команда для ImageMagick. Создается минатюра, она выводится на экран, после закрытия окна файл с миниатюрой удаляется.
Просто хотелось бы обойтись без вылетания командной строки. Но как оказалось на практике, не сильно напрягает.

С бинарным файлом, наверное так с ходу не разберусь, ни разу не работал с ним))
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
а зачем тогда вообще js?
 

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Ну просто на нем уже сделал основной блок программы, все работает отлично. В добавок хотелось немного приукрасить. Основная работа конечно в иллюстраторе, но другого скрипта. А данный работает непосредственно с XMP данными совместно в Bridge.
Поскольку скрипты делаю раз в 5 лет, то не хотел заново вникать в другой язык)) и так все с напрягом идет, но основную часть необходимую мне уже освоил))
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
угумс.

командную строку можно вызывать из bridge как раз, там есть app.system()

картинку тоже отресайзить в bridge можно через BitmapData
 
  • Спасибо
Реакции: dumbm1 и angelp

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Спасибо огромное!! Пол дня бился, а все было под рукой)) просто не с того руководства смотрел, да и подсказки прямо в тему)
 
  • Спасибо
Реакции: Skvoznyak

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Теперь есть другая проблема связанная с app.system() и WinRAR

Пытаюсь архивировать файл с кириллицей в путях, на что архиватор ругается, что не может найти файл с таким именем.
добавляю строку $.writeln (здесь содержимое скобок от app.system()). Копирую текст с консоли, вставляю его непосредственно в командную строку - все работает. В чем может быть проблема? Кодировку пробовал менять, эффекта не дает.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
а кириллицу не убрать?
 

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Да не хотелось бы, там ссылки на данную папку с 8 летнем стажем))
 

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Попробую 7zip поставить, может он будет нормально работать, не понимаю почему такая ерунда в app.system?
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
может, кавычки надо продублировать какие-нибудь... сложно сказать
 

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
ну вроде wtiteln в консоль передает точно как в командную строку? или нет?
P.S. с 7zip такая же ерунда, именно Adobe Bridge передает кракозябру, про перекодировку путей в руководстве Bridge вроде ничего нет(
 

splxgf

12 лет на форуме
Сообщения
7 744
Реакции
3 425
Кодировку пробовал менять, эффекта не дает.
Вопрос какую кодировку и на какую меняли, в идеале что-то из серии 1251. UTF не особо подходит.
Потренируйтесь на батниках какая кодировка отработает нормально.
 

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Кодировка @chcp 1251

В том то все и дело, что в батнике все работает, но с одним условием, данная команда должна быть выше строчкой чем команда с WinRar
через связку &&
выдает ошибку.
А вот в Adobe Bridge у меня не получается загнать их на разные строки, с помощью app.system (), символ перевода строки ничего не дает.

При этом при запуске в связке && сообщение о кодировке выходит на экран, но не читает пути
 
Последнее редактирование:

splxgf

12 лет на форуме
Сообщения
7 744
Реакции
3 425
ну можно еще 866 попробовать.
а как полностью выглядят команды?
 

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
app.system ("@chcp 1251 && C:\\Progra~1\\WinRAR\\WinRAR.exe a -ep -afzip " + archive +" " + curFile);

Переменные заданы с помощью функции конвертера т.е. на выходе получается что-то типа такого ("d:\\Фотографии\\Flat_Round_Single_05_2016_construction.zip" ну и вторая соответственно)

в окне командной строки:
кракозябра : 1251

в окне WinRAR:
! Невозможно открыть d:\Фотографии\Flat_Round_Single_05_2016_construction_03.svg
Не удается найти указанный файл.
! d:\Фотографии\Flat_Round_Single_05_2016_construction.zip: Нет файлов для добавления




вот так в бат файле не работает:

@chcp 1251 && C:\Progra~1\WinRAR\WinRAR.exe a -ep -afzip "d:\Фотографии\Flat_Round_Single_05_2016_construction.zip" "d:\Фотографии\Flat_Round_Single_05_2016_construction.svg"


а вот так работает
@chcp 1251
C:\Progra~1\WinRAR\WinRAR.exe a -ep -afzip "d:\Фотографии\Flat_Round_Single_05_2016_construction.zip" "d:\Фотографии\Flat_Round_Single_05_2016_construction.svg"


кодировка 866 результат такой же

в окне
 

splxgf

12 лет на форуме
Сообщения
7 744
Реакции
3 425
Ну весь вопрос только в том чтобы содержимое этой переменной перевести в нормальный вид. Возможно пройдет что-то типа
decodeURIComponent(archive.split("").map(function(ch) { return "%"+ch.charCodeAt(0).toString(16); }).join(""))
 

angelp

Участник
Топикстартер
Сообщения
50
Реакции
4
Где почитать про эту команду? в таком виде выдает ошибку: archive.split().map is not a function

Запускаю из под Adobe ExtendedScript Toolkit законектеный с BridgeCC
 
Статус
Закрыто для дальнейших ответов.