Войти

Показать полную графическую версию : [решено] Кавычки и [] в источнике цикла FOR


adrobkov@vk
26-03-2019, 22:43
Уважаемые пользователи и участники поделитесь соображениями и решениями, как реализовать следующий код чтобы он работал)):

@echo ON
SetLocal EnableDelayedExpansion
for /F "delims=," %%a in (`%lr_app%\ImageMagick\convert.exe "%dir_img%\img.arw" -resize 1x1! -format "%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)]" info:-`) do set a=%%a
echo !a!

Сама строка "%lr_app%\ImageMagick\convert.exe "%dir_img%\img.arw" -resize 1x1! -format "%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)]" info:-" возвращает 3 цифры через запятые (Red,Green,Blue)
Если экранирую кавычки, то ругается на [. Уже не знаю как быть.. Очень нужна ваша помощь!

alpap
27-03-2019, 00:08
если честно, не понял точно что вам надо, попробуйте пока так, потом скажете и станет ясно:

@echo off
for /F "tokens=1-3 delims=," %%a in ('"%lr_app%\ImageMagick\convert.exe "%dir_img%\img.arw" -resize 1x1! -format "%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)]" info:-"') do set a=%%a& set b=%%b& set c=%%c
echo %a% %b% %c%
pause

adrobkov@vk
27-03-2019, 00:22
если честно, не понял точно что вам надо, попробуйте пока так, потом скажете и станет ясно: »
Ответ:
C:\Users\ADrobkov\AppData\Roaming\Adobe\Lightroom\Software>middlecolor.bat
Непредвиденное появление: ].

если честно, не понял точно что вам надо »
Утилитка convert из пакета Imagemagick ресайзит изображение к одному пикселю и в определенном формате (XX,YY,ZZ) без скобок выводит результат, который мне нужно запихать в переменную, что бы в дальнейшем отдать ее утилитке exiftool, которая запишет это значение как тег прибавив к каждой из цифр +50.

Iska
27-03-2019, 06:46
adrobkov@vk, давно уже нет «утилитки convert» в составе ImageMagick.

adrobkov@vk
27-03-2019, 10:28
Iska, не знаю, не знаю... Она работала и продолжает работать https://imagemagick.org/script/convert.php

Iska
27-03-2019, 16:50
adrobkov@vk, в седьмых версиях ImageMagick функционал данной утилиты, как и многих других, был перенесён в одну единую утилиту magick.exe:
https://i.imgur.com/2aGmvH3.png

Довеском:

[Resolved] convert.exe missing from 7.0.1-Q16? - ImageMagick (https://www.imagemagick.org/discourse-server/viewtopic.php?t=29582)
Porting to ImageMagick Version 7 @ ImageMagick (https://imagemagick.org/script/porting.php#cli)

adrobkov@vk
27-03-2019, 19:02
Iska, спасибо! Бузу знать. Но вопрос остается открытым... Так как на переход с 6 версии придется очень много перелопатить.
Как оправить в переменную данный код: "%lr_app%\ImageMagick\convert.exe "%dir_img%\img.arw" -resize 1x1! -format "%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)]" info:-"'

Iska, кстати, её всё равно можно инсталлить.. Только сейчас установил.
https://listick.ru/files/all/1a/99/a9/659ef153e606f0bbb55bda6968s31033.png

Iska
27-03-2019, 22:39
adrobkov@vk, Вы то ли не читали «Довеском», то ли не поняли. Цитирую (выделение моё):
animate, compare, composite, conjure, convert, display, identify, import, mogrify, montage, stream
To reduce the footprint of the command-line utilities, these utilities are symbolic links to the magick utility. You can also invoke them from the magick utility, for example, use magick convert logo: logo.png to invoke the convert utility.

adrobkov@vk
27-03-2019, 23:23
Iska, для меня это удобно.. Да и не в этом суть... Я сюда пришел не ImageMagick разбирать.. Есть у меня 6 версия и работает она отлично... Вопрос как быть с батником? ВОт по этому поводу скажите как быть, пожалуйста!

Проблема решена, экранированием %. Все спасибо, кто думал)
@echo ON
SetLocal EnableDelayedExpansion
for /F "delims=," %%a in (`%lr_app%\ImageMagick\convert.exe "%dir_img%\img.arw" -resize 1x1! -format "%%[fx:int(255*r+.5)],%%[fx:int(255*g+.5)],%%[fx:int(255*b+.5)]" info:-`) do set a=%%a
echo !a!




© OSzone.net 2001-2012