Показать полную графическую версию : BAT. Поочередное открытие группы файлов приложением.
SergMarkow
08-01-2014, 16:46
Доброго времени суток.
Прошу помочь составить bat-файл, если это возможно.
Требуется: найти в папках файл с расширением JPG, открыть его с помощью программы mspaint.exe, Сохранить под этим же именем и расширением JPG. Проделать эту операцию со всеми файлами JPG.
Сам цикл поиска JPG в текущей папке можно написать, например, так:
@Echo Off
SetLocal EnableExtensions
For %%A In ("*.jpg") Do Call :Func "%%~nxA"
exit /b
:Func
Set FileName=%~n1
%windir%\system32\mspaint.exe %FileName%
goto :eof
Но как создать процесс автоматического сохранения?
Но как создать процесс автоматического сохранения? »
В рамках заданной категории — никак.
А в чём глобальный смысл идеи открыть и сохранить файл?
SergMarkow
08-01-2014, 18:47
Если у Вас есть фотографии, сохраненные с фотокамеры с расширением JPG, проделайте такую операцию вручную с какой нибудь одной фотографией - она сожмется минимум в 2 раза без заметной потери качества, разрешение фотографии останется тем же. Никакие программы для сжатия полноцветной графики не дают таких результатов - только при условии потери качества или разрешения картинки. Причем способ такой не сработает на обычной картинке с интернета, только на фотографиях с фотокамеры.
SergMarkow
08-01-2014, 19:06
Iska, код, который я напечатал выше не работает с файлами, имена которых содержат пробелы. Как решить эту проблему?
проделайте такую операцию вручную с какой нибудь одной фотографией - она сожмется минимум в 2 раза без заметной потери качества, »
С потерей качества. Любое сохранение в jpg приводит к потере качества. Таков алгоритм.
Никакие программы для сжатия полноцветной графики не дают таких результатов - только при условии потери качества или разрешения картинки. »
Неверное утверждение. Дают. Любые. Про потерю качества см. выше.
Причем способ такой не сработает на обычной картинке с интернета, только на фотографиях с фотокамеры. »
Сработает. С любым изображением при его сохранении в jpg или иной подобный формат.
nconvert.exe из комплекта XnView:
@echo off
setlocal enableextensions enabledelayedexpansion
for %%i in (*.jpg) do "C:\Program Files\XnView\nconvert.exe" -out jpeg -overwrite -q 80 "%%i"
endlocal
exit /b 0
код, который я напечатал выше не работает с файлами, имена которых содержат пробелы. Как решить эту проблему? »
Имена файлов с пробелами необходимо заключать в кавычки.
Т.е. как минимум должно быть не просто %FileName%, а "%FileName%"
SergMarkow
08-01-2014, 21:18
С потерей качества. Любое сохранение в jpg приводит к потере качества. Таков алгоритм. »
Я не говорю о том, что качество не теряется, я говорю о том, что потеря качества незаметна визуально.
Проверьте на файле с расширением JPG, который можно скачать по ссылке ниже.
http://www.fayloobmennik.net/3473492
Откройте его в Paint.exe и просто сохраните. Увидите, что объем файла уменьшился примерно на 1 Мб. А теперь посмотрите на качество и сравните визуально с исходником. Даже при многократном увеличении фотографии разницы не видно, при этом объем файла заметно меньше.
Если получится другим способом сильнее сжать эту картинку с более высоким или таким же качеством, выложите, буду благодарен.
Мое предыдущее сообщение прошу во внимание не брать - вопрос решился добавлением кавычек.
mwz, благодарю.
Foreigner
08-01-2014, 21:55
-q 80 »
Даже без этого параметра исходное фото "сжимается" лучше чем пэинт.
Если получится другим способом »
Взгляните http://mwz-ru.homeserver.com/main/tests/DSC00136resampled.jpg -- 508 кил, и
http://mwz-ru.homeserver.com/main/tests/DSC00136resampled2.jpg -- 301 килобайт.
Кстати, из исходного фото непонятно -- это розы, или хлопок, или что ещё. Что и помогло сильно поджать с исходных 3 мегабайт. ;)
SergMarkow
08-01-2014, 22:37
Сжато хорошо, я могу сжать еще лучше, но потеряю качество.
mwz, теперь посмотрите как потеряли качество фотографии, выложенные Вами. Я просто увеличил один и тот же фрагмент на всех фотографиях.
http://www.fayloobmennik.net/3473651
Где какая фотография можно понять по названиям. Верхние две - оригинал и и фотография сжатая в Painte - изменения в качестве вообще не заметны (при этом разница в объеме в 1 Мб).
Нижние две, это фотографии, скачанные по ссылкам
Взгляните http://mwz-ru.homeserver.com/main/te...6resampled.jpg -- 508 кил, и
http://mwz-ru.homeserver.com/main/te...resampled2.jpg -- 301 килобайт. »
Потеря качества очень существенна, мало того, даже форма бутона теряется и частично замещается зеленым цветом.
Потеря качества очень существенна »
Ну всё же 6 и тем более 10 крат для JPG -- величина, мягко говоря, немалая... Использовался IrfanView с плагином, позволяющим сохранить результат в файл заданного размера.
Кстати, все погрешности преобразований зрительно выплывают при вычитании конечного изображения из исходного (практически реализуется суммированием второго с инверсным первым).
Я не говорю о том, что качество не теряется, я говорю о том, что потеря качества незаметна визуально.
Проверьте на файле с расширением JPG, который можно скачать по ссылке ниже.
http://www.fayloobmennik.net/3473492
Откройте его в Paint.exe и просто сохраните. Увидите, что объем файла уменьшился примерно на 1 Мб. А теперь посмотрите на качество и сравните визуально с исходником. Даже при многократном увеличении фотографии разницы не видно, при этом объем файла заметно меньше.
Если получится другим способом сильнее сжать эту картинку с более высоким или таким же качеством, выложите, буду благодарен. »
Коллега, Вы строите выводы на неверных исходных предпосылках. Возьмите какую-нибудь литературу по форматам JPEG/MPEG и прочтите.
Что касается качества — у Вас в исходном изображении (http://www.oszone.net/go.php?url=http://www.fayloobmennik.net/3473492) — сжимай его, не сжимай — качества ноль.
mwz, теперь посмотрите как потеряли качество фотографии, выложенные Вами. Я просто увеличил один и тот же фрагмент на всех фотографиях. … Потеря качества очень существенна, мало того, даже форма бутона теряется и частично замещается зеленым цветом. »
Прочтите литературу по формату JPEG. Особливо насчёт того, на чём основано сжатие на основе потери качества.
Я уже говорил, выше, что качество исходного изображения просто отвратительно. Если Вам не нравится использованный в примере коллеги mwz сэмплинг/дискретизация, задавайте его сами.
Вот так я сжал Ваше изображение практически втрое:
"%ProgramFiles%\XnView\nconvert.exe" -out jpeg -overwrite -q 80 DSC00136.JPG
Вот так:
"%ProgramFiles%\XnView\nconvert.exe" -out jpeg -overwrite -subsampling 2 -q 80 DSC00136.JPG
— с принудительным указанием минимального размера сэмплинга — более чем в полтора раза.
Вот так:
"%ProgramFiles%\XnView\nconvert.exe" -out jpeg -overwrite -subsampling 2 DSC00136.JPG
— с принудительным указанием минимального размера сэмплинга и без указания уменьшения качества — почти в полтора раза.
P.S. Ещё раз напоминаю о настоятельной необходимости прочтения литературы. Многие вопросы отпадут.
SergMarkow
09-01-2014, 19:44
Iska, не понимаю Вашу агрессию. Тема моего вопроса не касается сжатия изображений, у меня нет никаких вопросов по сжатию JPG и я их не задавал. Соответственно Ваше напоминание о настоятельной необходимости прочтения литературы считаю неуместным - напоминайте другим.
P.S. Возьму Ваш стиль общения на форуме на вооружение и отвечу на Ваше неверные утверждения.
Коллега, Вы строите выводы на неверных исходных предпосылках. »
Ни в одном моем сообщении нет выводов - Ваше утверждение неверно.
Что касается качества — у Вас в исходном изображении — сжимай его, не сжимай — качества ноль. »
Снова неверно. Качество изображения ноль - это как? Некорректно, бессмысленно и, снова, неверно.
Если Вам не нравится использованный в примере коллеги mwz сэмплинг/дискретизация, задавайте его сами. »
Я ничего не печатал о том - нравится или не нравится. Я произвел сравнение и выложил на форум. Снова Ваше утверждение неверно.
Подведем итог: из всех сообщений и ответов актуальным теме вопроса считаю только первое сообщение.
В рамках заданной категории — никак.
А в чём глобальный смысл идеи открыть и сохранить файл? »
Считаю Ваш ответ исчерпывающим и предлагаю закрыть тему.
Iska, не понимаю Вашу агрессию. »
Это не агрессия.
Тема моего вопроса не касается сжатия изображений, »
Не касается, а является им (сжатием).
у меня нет никаких вопросов по сжатию JPG и я их не задавал. »
Вы их не задавали. Вы задавали иные, вида: «Дурак, ты пальцем покажи».
Соответственно Ваше напоминание о настоятельной необходимости прочтения литературы считаю неуместным »
А теперь — ещё и обязательным.
напоминайте другим. »
И другим напомню, буде нужда в том.
Ни в одном моем сообщении нет выводов - Ваше утверждение неверно. »
Да, ну? Я не говорю о знаниях — Вы их получать не желаете. Вы уже сделали для себя выводы. Теперь хотите выполнить некие действия, основанные на этих выводах. То, что они не верны, Вам неважно — Вы будете упорно настаивать на своём: «Кто придумал, что Земля вращается вокруг Солнца? Я вижу, что происходит совсем наоборот. И точка!»
Снова неверно. Качество изображения ноль - это как? Некорректно, бессмысленно и, снова, неверно. »
Согласен. Некорректно. Сформулирую иначе: «Качество исходного изображения уже изначально отвратительно. Посему говорить о каких-то потерях качества при сжатии не имеет смысла.».
Я ничего не печатал о том - нравится или не нравится. Я произвел сравнение и выложил на форум. Снова Ваше утверждение неверно. »
А я Вам предложил выбрать подходящий Вам, именно Вам вариант. Очевидно три строки кода прошли мимо Вашего внимания, если Вы их не увидели.
Подведем итог: из всех сообщений и ответов актуальным теме вопроса считаю только первое сообщение. »
Вы не хотите учиться, и размахиваете своим незнанием и нежеланием как флагом. Вот такой итог. Впрочем, дело Ваше: хозяин — барин. Насильно мил не будешь.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.