1

Я запускаю следующее в командной строке Windows 10;

convert file.png %t-test.png
convert file.png '%t-test.png'

И я получаю следующие файлы;

%t-test.png
'%t-test.png'

Как я могу получить ожидаемый file-test.png будет правильно экранирован и сгенерирован?

Обновить

Пробовал несколько других за предложения @ DavidPostill;

>convert file.png '\%t-test.png'
convert.exe: unable to open image `'\%t-test.png'': No such file or directory @ error/blob.c/OpenBlob/2702.
convert.exe: WriteBlob Failed `'\%t-test.png'' @ error/png.c/MagickPNGErrorHandler/1630.

Кроме того, оба следующих результата приводят к записи '%t-test.png' ;

convert file.png '%%t-test.png'
convert file.png '^%t-test.png'

1 ответ1

2

Я определил следующий обходной путь, хотя он ограничивает вывод тем, какие манипуляции с переменными доступны в cmd, а не тем, что может быть достигнуто с помощью процентных выходов ImageMagick.

FOR %a IN (*.png) DO convert "%a" "test-%~na%~xa"

На основании этих переменных пакетного файла;

%~a    expands %a removing any surrounding quotes (")
%~fa    expands %a to a fully qualified path name
%~da    expands %a to a drive letter only
%~pa    expands %a to a path only
%~na    expands %a to a file name only
%~xa    expands %a to a file extension only

Больше здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .