PDA

View Full Version : Как переименовать много файлов



kapral
11-05-2012, 05:27 AM
Значит так тема такая. Есть примерно 100 папок в каждой из них примерно по 20-30 картинок, названия картинок 01-02-03-04-05 в другой папке опять также, проблема в том что мне надо скинуть все файлы в одну папку так что-бы они шли по порядку. Допустим в одной папке файлы с 01 по 26 в другой папке фалы опять имеют названия 01-02-03 мне приходиться в ручную переименовать их в 27-28-29 и так далее. Скажите есть-ли программа которая сама всё это сделает? Просто скачал 103 выпуска комиксов а там в каждой папке отдельный выпуск, хочу все выпуски скинуть в одну папку так что-бы они шли по порядку.

crazy-mike
11-05-2012, 05:45 AM
А самому написать слабо?
:301:
Там ведь скрипт меньше чем из десяти строчек.
Если совсем голову не хочется ломать - то выводишь список файлов в текстовый файл , а потом из него в любом умном экранном редакторе просто делаешь команды ren ( или mv - в зависимости от операционной системы ). Ну и запускаешь потом эту радость в командной строке.
:101:
В mv ведь шаблоны для имён файлов можно задавать. ( это в Linux ). В ren вообще-то тоже кучу всяких приколов можно делать.

kapral
11-05-2012, 05:50 AM
Ну я не программист, и писать программы не умею. У меня вин-7.

crazy-mike
11-05-2012, 05:57 AM
Ну я не программист, и писать программы не умею. У меня вин-7.
Там даже программу не надо писать. Просто выводишь командой
dir *.* >list.txt
список нужных файлов в текстовый файл , а потом его редактируешь.
Каждое имя файла в одну строку. А потом из каждой строки делаешь команду ren (перименовать).
Она выглядит как
ren старое-имя новое-имя
:101:
Вместо имён вообще-то и "шаблоны имён" со звёздочками можно использовать. Всю эту радость запоминаешь как myren.cmd или mtren.bat - а потом просто запускаешь на выполнение.

ETTY
11-05-2012, 08:57 AM
Значит так тема такая. Есть примерно 100 папок в каждой из них примерно по 20-30 картинок, названия картинок 01-02-03-04-05 в другой папке опять также, проблема в том что мне надо скинуть все файлы в одну папку так что-бы они шли по порядку. Допустим в одной папке файлы с 01 по 26 в другой папке фалы опять имеют названия 01-02-03 мне приходиться в ручную переименовать их в 27-28-29 и так далее. Скажите есть-ли программа которая сама всё это сделает? Просто скачал 103 выпуска комиксов а там в каждой папке отдельный выпуск, хочу все выпуски скинуть в одну папку так что-бы они шли по порядку.

Если у тебя есть Photoshop, то там можно сделать Action Script, который все это сделает.

реднек
11-05-2012, 10:07 AM
А самому написать слабо?
:301:
Там ведь скрипт меньше чем из десяти строчек.

Конечно меньше чем 10. Одной вполне хватит:

ruby -e 'Dir["*/*"].each { |f| `mv #{f} #{f.gsub "/", "_"}` }'

Только на Unix s Ruby. А на Win 7 мучайтесь сами.

crazy-mike
11-05-2012, 11:04 AM
Конечно меньше чем 10. Одной вполне хватит:

ruby -e 'Dir["*/*"].each { |f| `mv #{f} #{f.gsub "/", "_"}` }'

Только на Unix s Ruby. А на Win 7 мучайтесь сами.
Под Win7 тупо ставится MinGW , а под ним - Ruby. И практически можно не мучиться. Ну там и обычный sh по уполчанию работает. :301:

реднек
11-05-2012, 01:59 PM
Под Win7 тупо ставится MinGW , а под ним - Ruby. И практически можно не мучиться. Ну там и обычный sh по уполчанию работает. :301:

А вот теперь все это повтори рядовому пользователю винды.

crazy-mike
11-05-2012, 02:17 PM
А вот теперь все это повтори рядовому пользователю винды.
У меня рядовые пользователи Ubuntu из-под винды запускают. Самое смешное - им это нравится!!!!!! :101:

NJman
11-06-2012, 03:31 PM
Объясняю, как сделать без скриптов. Заходите в 1-ю папку. Выделить все файлы (Ctrl+A). Не снимая выделения, переименовать 1-й файл. Изменить имя на 1(1) (Right click-> Rename). Далее 2-я папка. Выделить. Переименовать в 2(1). И т.д. Все следующие за первым файлы будут переименовываться автоматически и не будут пересекаться в именах...................... Пожалуйста.

ETTY
11-06-2012, 04:21 PM
Объясняю, как сделать без скриптов. Заходите в 1-ю папку. Выделить все файлы (Ctrl+A). Не снимая выделения, переименовать 1-й файл. Изменить имя на 1(1) (Right click-> Rename). Далее 2-я папка. Выделить. Переименовать в 2(1). И т.д. Все следующие за первым файлы будут переименовываться автоматически и не будут пересекаться в именах...................... Пожалуйста.

Кстати, я совсем и забыл про это. Очень хороший и простой способ. Молодца. :271:

Добавлю только, что когда все файлы скопируешь в одну папку, то можно их опять все выделить, и переименовать первый в image(1), чтобы было image(1) ... image(x), а не 1(1)...2(x)....y(x)

А то развели тут херню всякую.

Hallucinogen
11-06-2012, 04:57 PM
замечательный топик... по-доброму смешной

Лось
11-06-2012, 05:31 PM
В тотал коммандере (http://ghisler.com) есть функция переименования кучи файлов

crazy-mike
11-06-2012, 05:55 PM
замечательный топик... по-доброму смешной
А ведь никто не посоветовал как это сделать при помощи голосового ввода команд!
:303::303::303::303::303::303::303::303::303::303: :303::303::303::303::303::303::303::303: