14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
1

Пакетное переименование картинок при перетаскивании на BAT (на основе разрешения картинок)

09.05.2022, 13:22. Показов 1930. Ответов 38
Метки нет (Все метки)

У меня есть файлы, много файлов
Файлы скачиваются с интернета и имеют рандомное название
задача автоматически переименовать все новые файлы при перетаскивании папок на скрипт
устал делать это руками

шаг 1. скачваю.

kldsnvsdnjsov.jpg
oiryuxmcvbvj.jpg
sadnhjdsu.png
qweyqytzbvv.png

шаг 2. сейчас я руками быстро даю им имена
1.jpg
2.jpg
3.png
4.png

шаг 3. потом через тотал коммандер меняю на нужные имена например 1.jpg -> pic1.jpg 2.jpg -> pic2.jpg и т.п.

вопрос.
Возможно ли автомотизировать этот процесс?
в идеале пропустить шаг 2 и шаг 3

все файлы имеют разное разрешение
pic1.jpg 2000*1000
pic2.jpg 1000*500
pic3.png 800*300 и т.д.

то есть 2 варианта скрипта

1 переименовывать файлы проверяя их разрешение, задавав список в скрипте
2000*1000 -> name 1
1000*500 -> kartinka1000
и т.д.

2 переименовывать по списку, то есть в скрипте забивать список
Pic1-> name 1
pic2-> kartinka1000
pic3-> photo
и т.д.

заранее спасибо
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2022, 13:22
Ответы с готовыми решениями:

перелистывание картинок (при неограниченном кол-ве картинок), используя пикчербоксы на C#
Здравствуйте. Как перелистывать картинки (при неограниченном кол-ве картинок), используя...

Переименование картинок
Нужна помощь).В общем, дело такое. Есть кнопка "открыть картинку", если кнопка "переименовать...

Массовое переименование картинок
Доброго времени всем. Помогите пожалуйста кто знает. У меня в папке куча картинок в формате jpg...

Переименование всех картинок на сайте
В целях оптимизации графического контента сайта необходимо переименовать все ранее загруженные...

Масштабирование картинок и разные разрешения экранов
Имеется вот такой участок кода <div class="blockwrap"> <div class="centerblock">...

38
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
09.05.2022, 19:29  [ТС] 2
неужели ни у кого нет идей ))) ?

а то у меня еще пара похожих вопросов есть, а то все сейчас делаю руками,
много времени уходит, да и бессмысленно делать руками, если можно скрипт сделать (
0
1341 / 142 / 44
Регистрация: 26.09.2020
Сообщений: 257
09.05.2022, 20:24 3
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
неужели ни у кого нет идей ))) ?
Есть конечно. Используйте PowerShell.
И задание опишите, что нужно. А не как бы вы это делали.
Подробно, что на входе, что желаем на выходе.
Сейчас понятно, что переименовать нечто во что то используя в названии разрешение. первую цифру, большую.. правила переименования, зачем шаг 2. что такое нужные имена…
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
09.05.2022, 20:54  [ТС] 4
iNNOKENTIY21,
шаг 2 нужен что бы пакетно переименовать все эти файлы во всех папках сразу
много папок, в каждой файл 1.jpg например

сам я в скриптах командной строки или powershell не разбираюсь, если только брать делфи и писать,
но я думаю если кто то умеет в скрипты, то быстрее через скрипт

задача, постораюсь объяснить понятнее
по сути действий много, это файлы для медиабибилиотеки, сейчас все это приходится делать руками
хочется автомотизировать

есть папки
в каждой папке есть наборы файлов .png и .jpg (в каждой папке файлы с одинаковым разрешением, но имена рандомные)

для простоты понимания назовем сейчас эти файлы 1,2,3,4

идеальный скрипт такой.
в каждой папке

файл 1 с рарешением 1000*500 переименовать в имя папки в которой он лежит-1000.jpg
+ если возможно создать его копию с разрешением 200*100 с именем 200.jpg

файл 2 с разрешение 2000*2000 переименовать в имя папки в которой он лежит-file2000.jpg

файл 3-10 с разрешение 2000*1000 или 4000*2000 переименовать в имя папки в которой он лежит-4000i.jpg
при этом i нужно не с 1 по n, у файла с i=1 1 писать не нужно

файлы 3-10 скопироватьв другую папку, создав в ней подкаталог с названием папки из которого файлы взяты

вроде понятно объяснил

ну либо мне брать делфи и вспоминать стеденческие годы )
0
1341 / 142 / 44
Регистрация: 26.09.2020
Сообщений: 257
09.05.2022, 21:32 5
Я знаю как получить высоту/ширину картинки в powershell для jpg, png
PowerShell
1
2
3
4
$IMG = New-Object -ComObject Wia.ImageFile
$IMG.LoadFile("$env:windir\Web\Wallpaper\Windows\img0.jpg")
$IMG.Width
$IMG.Height
Но, что во что переименовать, не улавливаю
Но, тут есть телепаты 90 уровня

С праздником!
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
09.05.2022, 21:37  [ТС] 6
iNNOKENTIY21,
ну я не знаю как еще детальнее объяснить )

смотрим все папки которые перетаскиваем на скрипт, в каждой папке

файл с разрешением x*y в имяпапки-file1.jpg
теперь нужно сделать копию имяпапки-file1.jpg уменьшив до разрешения k*l и с именем title.jpg
файл с разрешением a*b в имяпапки-file2.png
и так далее

файлы с разрешением q*w или y*u в имяпапки-nabori.png
i 2-n
имяпапки-nabor.png
имяпапки-nabor2.png
имяпапки-nabor3.png
...
имяпапки-naborn.png


понятно? )
0
281 / 85 / 40
Регистрация: 26.03.2022
Сообщений: 196
10.05.2022, 00:09 7
pozitiv_rus, Я сделал Вашу задачу по первоначальной постановке. Понадобилась внешняя бесплатная утилита.
Если осмыслю Ваши дальнейшие разъяснения и сумею сделать ...
Если сделать значок на батник на рабочем столе и затягивать на него мышкой папку
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Echo Off
cls
    If "%~1"=="" (Echo Script "%~dpnx0" is running without parameter! Job canceled. &Pause &Exit /B 2)
    If Not Exist "%~1\" (Echo Folder "%~1" not found! Job canceled. &Pause &Exit /B 2)
 
    Set Ext=/C:".jpg" /C:".png" /C:".bmp"
    Set "ImageMagick="C:\Program Files\ImageMagick-7.1.0-Q16\magick.exe" identify" 
 
    Set /A N=1000000
    Set /A k=4
 
    Pushd "%~1" &&(
        FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /A:-D /O:D ^|FindStr /I /E %Ext%`) DO (
            Set /A N+=1
            Call Ren "%%f" "%%N:~-%k%%%%%~xf"
        )
        FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /A:-D /O:D ^|FindStr /I /E %Ext%`) DO (
            FOR /F "usebackq tokens=3 delims= " %%i IN (`2^>nul %ImageMagick% "%%f"`) DO (
                Call Ren "%%f" "%%i_%%f"
                )
        )
    )
    Popd
Pause
Exit /B 0
 
https://download.imagemagick.org/ImageMagick/download/binaries/ImageMagick-7.1.0-33-Q16-x86-static.exe
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
10.05.2022, 00:17  [ТС] 8
Angry Old Man,
хорошо, в последнем сообщении я вроде понятнее расписал

если так будет проще, могу выложить набор папок с файлами в качестве образца
0
4324 / 2248 / 877
Регистрация: 06.06.2017
Сообщений: 7,721
10.05.2022, 04:07 9
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
теперь нужно сделать копию имяпапки-file1.jpg уменьшив до разрешения k*l и с именем title.jpg
То бишь ещё и размер менять.
1. И к title, полагаю, тоже надо счётчик добавлять?
2. Это задачка ко всем разрешениям относится?
3. k и l - это константы? Что если они больше исходных окажутся?
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
10.05.2022, 10:10  [ТС] 10
FlasherX,
1 да, в идеале бы у 1 файла в каждой папке сделать копию с новым размером
2 нет, размер картинки меняется только у 1 файла jpg
3 разрешения файлов всегда фиксированные в 99,999% случаев, в оставшихся переименую руками, не страшно

выкладываю пример файлов
https://cloud.mail.ru/public/eW3z/HN2khmNjP
это наборы картинок для медиа библиотеки

давайте тогда сразу на примере объясню что есть что

banner 1000*185 jpg\png переименовать в папка-banner.jpg\png

clearart 1000*562 png переименовать в папка-clearart.png

clearlogo 800*310 png переименовать

discart 1000*1000 переименовать

landscape 1000*562 jpg переименовать

keyart 1000*1500 или 2000/3000 переименовать папка-keyart.jpg
посколько его размер пересекается с другим типом придется в папке ему рауками дать имя k.jpg по другому никак

следующий идет пересекающийся с предыдущим, но так как предыдущий мы уже переименовали, то нужна проверка что бы это был НЕ папка-keyart.jpg тогда это то что нужно

poster 1000*1500 или 2000/3000 переименовать папка-poster.jpg
+ создать его копию с расрешением 244*162 и имя cover.jpg

fanart 1920*1080 или 3840*2160 таких файлов может быть несколько
1ый файл называется на входе f.jpg\png его переименовать папка-fanart.jpg
остальные файлы с этими размерами переименовываем папка-fanarti.jpg
i=2-N
(fanart в идеале нужно еще скопировать в другую папку, сохранив их папку каталог)

теперь вроде все понятно? ))
0
4324 / 2248 / 877
Регистрация: 06.06.2017
Сообщений: 7,721
10.05.2022, 13:45 11
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
теперь вроде все понятно? ))
Название: file_303484.png
Просмотров: 74

Размер: 17.4 Кб
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
clearart 1000*562 png переименовать в папка-clearart.png
landscape 1000*562 jpg переименовать
Это как понимать? В архиве нет перечисленных названий. Выше писалось, что надо исходить лишь из размера (не путаем с разрешением по dpi/ppi). А теперь размер, как видим, может совпадать. Откуда же тогда брать эти clearart и landscape?
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
посколько его размер пересекается с другим типом придется в папке ему рауками дать имя k.jpg по другому никак
Ну и пусть пересекается, расширение-то другое.
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
то нужна проверка что бы это был НЕ папка-keyart.jpg
Дык, а счётчик справа от базового имени для чего?
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
10.05.2022, 13:53  [ТС] 12
FlasherX,

конечно в архиве нет перечисленных названий, это типы файлов, я же написал в самом первом сообщении

"Файлы скачиваются с интернета и имеют рандомное название
задача автоматически переименовать все новые файлы"


"Ну и пусть пересекается, расширение-то другое. "

не совсем, в первом случае расширение может быть jpg, а вот 2ом и jpg и Png (хотя пнг в реальности практически никогда не бывает и в 99,99% случаев рсширения будут одинаковыми)

"Дык, а счётчик справа от базового имени для чего?"

счетчик используется ТОЛЬКО для fanart, остальные типы всегда в 1ом экземпляре


то есть подведем итог, на входе идут рандомные названия
у 2ух файлов имена фиксированные, так как разрешения одинаковые и по резрешению их не отличить
нужно все перименовать в нужные имена, что бы программа приняла эти файлы на входе

вот как это доджно выглядить
Миниатюры
Пакетное переименование картинок при перетаскивании на BAT (на основе разрешения картинок)  
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
10.05.2022, 13:59  [ТС] 13
подробнее можно почитать на сайте плеера
https://kodi.wiki/view/Artwork_types
0
4324 / 2248 / 877
Регистрация: 06.06.2017
Сообщений: 7,721
10.05.2022, 14:28 14
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
конечно в архиве нет перечисленных названий, это типы файлов, я же написал в самом первом сообщении
Я не просил подтверждать мои слова. Прочтите абзац целиком и потрудитесь ответить на вопрос.
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
не совсем, в первом случае расширение может быть jpg, а вот 2ом и jpg и Png
Приведите пример с реальными именами в контексте "посколько его размер пересекается с другим типом".
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
счетчик используется ТОЛЬКО для fanart, остальные типы всегда в 1ом экземпляре
А, т. е. 1000x1500 и 2000x3000 вместо не лежат. Ясно.
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
у 2ух файлов имена фиксированные, так как разрешения одинаковые и по резрешению их не отличить
У каких? the-last-duel-61a67ac34ebff.jpg и the-last-duel-61802e5b3c244.png имеют один размер и разные расширения. Где тут фиксированность имён?
И, прошу, перестаньте не по назначению использовать термин "разрешение".

Не по теме:

Цитата Сообщение от pozitiv_rus Посмотреть сообщение
подробнее можно почитать на сайте плеера
У вас и так задачка весьма специфическая, чтобы ей за так заниматься, а вы ещё читать иностранный вики посылаете. Совесть-то имейте..

0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
10.05.2022, 20:50  [ТС] 15
Цитата Сообщение от FlasherX Посмотреть сообщение
Я не просил подтверждать мои слова. Прочтите абзац целиком и потрудитесь ответить на вопрос.
читаю, но не понимаю)

В архиве нет перечисленных названий
потому что файлы изначально имеют рандомные названия, их и нужно переименовать в те названия, которых нет


Выше писалось, что надо исходить лишь из размера (не путаем с разрешением по dpi/ppi).

так в этом вся и путаница, вы не понимаете размер,разрешение и dpi
размер фото в простонародии это и есть разрешение 500*500 пкс к примеру
dpi это лишь плотность, от изменения dpi разрешение(размер px не меняется)

А теперь размер, как видим, может совпадать. Откуда же тогда брать эти clearart и landscape?

так и получается что clerart и landscape имеют одинаковый размер (разрешение)
но разное расширение png\jpg их получается можно различить по расширению файла

Цитата Сообщение от FlasherX Посмотреть сообщение
Приведите пример с реальными именами в контексте "посколько его размер пересекается с другим типом".
ну вот тот же пример clerart и landscape у них одинаковые разрешение, но разное расширение

если же взять poster и keyart то у них и размер совпадает, так и расширение может тоже совпадать
поэтому 1 из них все равно придется перед обработкой скриптом переименовать в какое то фиксированое название


Цитата Сообщение от FlasherX Посмотреть сообщение
А, т. е. 1000x1500 и 2000x3000 вместо не лежат. Ясно.
не лежат где?
они лежат все вместе, все перечисленные типа картинок, но в данном случае тут ошибка
не И а ИЛИ
то есть этот файл может быть либо 1000*1500 либо 2000*3000

Цитата Сообщение от FlasherX Посмотреть сообщение
У каких? the-last-duel-61a67ac34ebff.jpg и the-last-duel-61802e5b3c244.png
все верно, это и есть clearart и landscape
размер (разрешение) одинаковое, а расширение разное

Цитата Сообщение от FlasherX Посмотреть сообщение
У вас и так задачка весьма специфическая, чтобы ей за так заниматься, а вы ещё читать иностранный вики посылаете. Совесть-то имейте..
так там и не надо ничего читать, по сути там просто перечислены "типы" картинок и их разрешения с расширениями
по сути я их уже и так все описал в 10ом сообщении
0
4324 / 2248 / 877
Регистрация: 06.06.2017
Сообщений: 7,721
10.05.2022, 21:35 16
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
читаю, но не понимаю)
Очень плохо, что вы не можете отличить вопрос от повествования.
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
вы не понимаете размер,разрешение и dpi
размер фото в простонародии это и есть разрешение 500*500 пкс к примеру
dpi это лишь плотность, от изменения dpi разрешение(размер px не меняется)
Это вы не понимаете. Почитайте вики (со слова "Ошибочно", про dpi и ppi в т. ч.) хотя бы, чтобы больше не писать глупости про простонародие и т. п.

Цитата Сообщение от pozitiv_rus Посмотреть сообщение
их получается можно различить по расширению файла
И? Предлагается самостоятельно стелепатить выбор суффикса?
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
все верно, это и есть clearart и landscape
Вам так трудно указать, к какому расширению какой суффикс относится (чтобы потом не выяснилось обратное)?

Цитата Сообщение от pozitiv_rus Посмотреть сообщение
поэтому 1 из них все равно придется перед обработкой скриптом переименовать в какое то фиксированое название
Я так и не понял, зачем, коли мы выяснили, что файлов одного размера (кроме fanart) быть не может?

Цитата Сообщение от pozitiv_rus Посмотреть сообщение
но в данном случае тут ошибка
Нет у меня ошибки. В фразе "1000x1500 и 2000x3000 вместе не лежат." никаких или вместо и быть не может.
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
10.05.2022, 22:02  [ТС] 17
Цитата Сообщение от FlasherX Посмотреть сообщение
Это вы не понимаете. Почитайте вики (со слова "Ошибочно", про dpi и ppi в т. ч.) хотя бы, чтобы больше не писать глупости про простонародие и т. п.
а теперь почитайте в оригинале на английском )))
там нет ничего про ошибочно, там написано "обычно"
обычно разрешение это размер х*y, какртинки, матрицы, видео, дисплея
dpi,ppi это плотность

отюсда и разрешение картинки, разрешение дисплея, разрешения видео и т.п.

можно почитать и в других статьях на вики

Image resolution can be measured in various ways. Resolution quantifies how close lines can be to each other and still be visibly resolved. Resolution units can be tied to physical sizes (e.g. lines per mm, lines per inch), to the overall size of a picture

но вопрос явно не в этом

Цитата Сообщение от FlasherX Посмотреть сообщение
И? Предлагается самостоятельно стелепатить выбор суффикса?
не совсем понимаю в чем вопрос
непонятно какая картинка как должна быть названа?

в 10ом сообщении я подробно расписал, есть так же ссылка на вики плеера, хотя там написано тоже самое, просто на английском

Цитата Сообщение от FlasherX Посмотреть сообщение
Вам так трудно указать, к какому расширению какой суффикс относится (чтобы потом не выяснилось обратное)?
так уже указано, я уже 2 раза написал, ссылку дал, там тоже самое написано

Цитата Сообщение от FlasherX Посмотреть сообщение
Я так и не понял, зачем, коли мы выяснили, что файлов одного размера (кроме fanart) быть не может?
10ое сообщение...
poster-keyart совпадают и размер и расширение

fanartов может быть несколько, но определенный из файлов нужно назвать fanart
остальные fanart2.3.4 и т.п.

а как определеить какой из них 1ый? )) если у них размеры одинаковые?
поэтому и придется 1ый руками называть например f.jpg -> fanart.jpg
а уже остальные файлы такого размера в fanart2.3.4.jpg

Цитата Сообщение от FlasherX Посмотреть сообщение
Нет у меня ошибки. В фразе "1000x1500 и 2000x3000 вместе не лежат." никаких или вместо и быть не может.
есть ошибка, опять же 10ое сообщение в теме...

Цитата Сообщение от pozitiv_rus Посмотреть сообщение
keyart 1000*1500 или 2000/3000
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
poster 1000*1500 или 2000/3000
Добавлено через 2 минуты
может проще с примерами сделать описание что куда и как переименовать надо ? )))

Добавлено через 7 минут
могу пошагово все с примерами на реальной папке показать
так наверное будет точно понятно
0
14 / 14 / 5
Регистрация: 13.07.2013
Сообщений: 156
10.05.2022, 23:03  [ТС] 18
на входе папка

https://www.cyberforum.ru/atta... 1652212512

1 разбираемся с poster и Keyart

poster это 1000*1500 ИЛИ 2000*3000 png ИЛИ jpg
keyart это 1000*1500 ИЛИ 2000*3000 jpg


то есть определить что есть что нельзя
значит на входе Keyart всегда будет k.jpg

k.jpg переименовываем имяпапки-keyart.jpg

if (1000*1500 or 2000*3000) and (png or jpg) and (not имяпапки-keyart.jpg) значит это poster
переименовываем имяпапки-poster.jpg



в идеале еще создать копию имяпапки-poster.jpg переименовать в cover.jpg и сжать до 162*244



2 разбираемся с clearart и landscape

clearart это 1000*562 png
landscape это 1000*562 jpg

просто переименовываем


3 discart тут все просто

1000*1000 Png
переименовываем имяпапки-discart .jpg


4 banner
if 1000*185 and (jpr or png)
переименовываем имяпапки-banner.jpg/png


5 clearlogo
800*310 png
переименовываем имяпапки-clearlogo.png


6 fanart
(1920*1080 or 3840*2160) and (png or jpg)
их много, 1ый на входе будет всегда f.png\jpg
переименовываем в имяпапки-fanart.png\jpg


теперь оставшиеся
(1920*1080 or 3840*2160) and (png or jpg) and (not имяпапки-fanart.png\jpg)
значит это оставшиеся фанарты
следовательно все их в
имяпапки-fanart2.png\jpg
имяпапки-fanart3.png\jpg
имяпапки-fanart4.png\jpg и т.д.


понятнее я уже не смогу объяснить )))
Миниатюры
Пакетное переименование картинок при перетаскивании на BAT (на основе разрешения картинок)   Пакетное переименование картинок при перетаскивании на BAT (на основе разрешения картинок)   Пакетное переименование картинок при перетаскивании на BAT (на основе разрешения картинок)  

Пакетное переименование картинок при перетаскивании на BAT (на основе разрешения картинок)  
0
4324 / 2248 / 877
Регистрация: 06.06.2017
Сообщений: 7,721
10.05.2022, 23:18 19
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
а теперь почитайте в оригинале на английском )))
там нет ничего про ошибочно, там написано "обычно"
На английском нет оригинала. Там дана ссылка на разрешение дисплея (Display resolution), не путайте.
Я 25+ лет пользуюсь графическими вьюверами/редакторами/утилитами, так что не пытайтесь меня переубедить в том, о чём я знаю не по наслышке, в т. ч. на уровне канонических наименований графических свойств объектов класса. Dimension и Resolution - это разные вещи. Почитайте статью внимательно. Чтобы не было иллюзий, запустите скрипт из архива в скрепке.
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
в 10ом сообщении я подробно расписал
poster-keyart совпадают и размер и расширение
Ага, пригляделся, теперь вижу. ОК.
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
есть ошибка, опять же 10ое сообщение в теме...
10-е сообщение не поможет, поможет только дружба с логикой. Нет ошибки в контексте предложения. Если "файл может быть либо 1000*1500 либо 2000*3000", то "1000x1500 и 2000x3000 вместе (в одной папке) не лежат". Элементарная логика.

Цитата Сообщение от pozitiv_rus Посмотреть сообщение
могу пошагово все с примерами на реальной папке показать
Уже не надо. Было пару непоняток, уже разрулили.
Вложения
Тип файла: 7z BackgroundDimension&Resolution.7z (414 байт, 2 просмотров)
0
4324 / 2248 / 877
Регистрация: 06.06.2017
Сообщений: 7,721
11.05.2022, 14:47 20
Цитата Сообщение от pozitiv_rus Посмотреть сообщение
https://www.cyberforum.ru/atta... 1652212512
А что мне доказывает корявая локализация какой-то браузерной надстройки?
Я тоже умею рисовать, могу прямо в Проводнике:
Пакетное переименование картинок при перетаскивании на BAT (на основе разрешения картинок)


Цитата Сообщение от pozitiv_rus Посмотреть сообщение
потом через тотал
.vbs для выбираемых в панели Тотала папок (см. шапку):
Тянем .vbs на тулбар, пишем в свойствах кнопки параметр из шапки во 2 поле. Выделяем папки, кликаем кнопку.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
'———————————————————————————————————————————————————————————————————————
' Переименование и копирование .png и .jpg в выбранных папках по условию
' Параметр: %WL
'———————————————————————————————————————————————————————————————————————
Option Explicit: Dim oList, oFSO, oShell, oIP, oImg, Dir, oItems, F, D
With WSH.Arguments
   If .Count Then oList = .Item(0) Else WSH.Quit
End With
Set oFSO   = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("Shell.Application")
Set oIP    = CreateObject("WIA.ImageProcess")
Set oImg   = CreateObject("WIA.ImageFile")
Set oList  = oFSO.OpenTextFile(oList,,,-1)
With oIP
   .Filters.Add .FilterInfos("Scale").FilterID
   .Filters(1).Properties("MaximumWidth") = 162
   .Filters(1).Properties("MaximumHeight") = 243
End With
 
Do: Dir = oList.ReadLine
   If Right(Dir, 1) = "\" Then
      Set oItems = oShell.NameSpace(Dir).Items
      oItems.Filter 8256, "*.jpg;*.png"
      If oItems.Count > 0 Then
         For Each F in oItems
            If InStr(F.Name, F.Parent.Self.Name & "-") <> 1 Then
               D = F.ExtendedProperty("Dimensions")
               If Len(D) Then
                  Select Case Mid(D, 2, Len(D) - 2)
                     Case "1000 x 562"  NewName ""
                     Case "800 x 310"   NewName "clearlogo"
                     Case "1000 x 185"  NewName "banner"
                     Case "1000 x 1000" NewName "diskart"
                     Case "1000 x 1500" NewName "poster"
                     Case "2000 x 3000" NewName "poster"
                     Case "1920 x 1080" NewName "fanart"
                     Case "3840 x 2160" NewName "fanart"
                  End Select
               End If
            End If
         Next
      End If
   Else WSH.Quit() End If
Loop Until oList.AtEndOfStream: oList.Close
Set oList = Nothing: Set oShell = Nothing
Set oFSO = Nothing: Set oIP = Nothing: Set oImg = Nothing
MsgBox "          Выполнено!", 262208,_
" Переименование PNG и JPG в выбранных папках"
 
Sub NewName(Suff)
   Dim c, PDir, PPath, PName, Ext, NName
   Set PDir = F.Parent.Self: PPath = PDir.Path
   If F.Name = "k.jpg" Then Suff = "keyart"
   Ext = "." & oFSO.GetExtensionName(F.Name)
   If Suff = "" Then If LCase(Ext) = ".png" Then _
   Suff = "clearart" Else Suff = "landscape"
   PName = PDir.Name & "-" & Suff
   NName = PName & Ext
   If Suff = "fanart" Then
      If oFSO.GetBaseName(F.Name) <> "f" Then
         c = 2: NName = PName & c & Ext
         While oFSO.FileExists(PPath & "\" & NName)
            c = c + 1: NName = PName & c & Ext
         Wend
      End If
   End If
   If Suff = "poster" Then oImg.LoadFile F.Path :_
   oIP.Apply(oImg).SaveFile PPath & "\cover" & Ext
   F.Name = NName
End Sub
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2022, 14:47
Помогаю со студенческими работами здесь

Изменение размера картинок в зависимости от разрешения экрана
Пишу приложение на Java для Android. Столкнулся с проблемой, что при использование шаблона xml для...

Определение разрешения картинок (bmp jpg gif)
Кто знает как определить разрешение (высоту и ширину) картинок без создания объектов в памяти...

Макрос для уменьшения разрешения картинок в документах ворд
Собственно нашел только макросы для изменения размеров картинок но так и не понял как его...

Создание массива картинок, добавление их во фрейм!(с возможностью переключения картинок кнопкой)
Всем привет, как создать массив картинок? Имею в виду как добавить картинки в массив а потом...

Скачивание картинок с сайта и удаление этих же скаченных картинок
Очень интересует вопрос. Я скачиваю n-ое кол-во картинок с сайта в определенную папку, после этого...

Получение ширины и высоты двух картинок в переменные, после чего сравнить эти разрешения
Если разрешения совпадают, батник продолжит свою работу, если не совпадают, остановит работу на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru