Как я могу переименовать много файлов одновременно?

43

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

Какие инструменты я должен использовать? Я предпочитаю графический интерфейс, но рекомендация инструмента командной строки также подойдет.

Хорхе Кастро
источник

Ответы:

54

Есть несколько, но я рекомендую gprename, Установить gprename который является хорошим компромиссом между удобством использования и функциональностью.

Другие инструменты: переименовать, krename Установить кренаме , pyrenamer Установить пиренамер , cuteRenamer, ...

Ральф Херсел
источник
6
pyRenamer совсем не плохой.
скалька
6
Я часто использую pyrenamer, а иногда и gprename, если изменение не выполняется очень легко в командной строке. Лучшая вещь в этих графических интерфейсах - встроенное действие предварительного просмотра. Это избавит вас от головной боли.
Белаква
4
+1 за gprename, только что попробовал и сделал нужное переименование за 5 секунд
Pisu
Позор, что ни gprename, ни pyrename не могут взять список файлов для переименования из командной строки
artfulrobot
gprename отлично работает 14.04. За 15 секунд переименовал 300 папок с помощью regex
3
10

Мне очень нравится QMV из renameutilsпакета. Это позволяет вам использовать ваш любимый (на основе терминала) текстовый редактор для переименования файлов. Я предпочитаю вызывать его, -f doчтобы получить один столбец (по одной строке на файл) с именами файлов. В сочетании с мощью Vim он предоставляет вам все инструменты, необходимые для массового редактирования имени файла.

http://www.nongnu.org/renameutils/

ОЭУД
источник
7

метаморфоз

https://github.com/metamorphose

может быть немного сложным в обращении, но действительно мощным!

perseo22
источник
Мне действительно нравится этот. Это довольно мощный и работает на всех основных платформах.
Дэниелс
5

Если вам нравятся регулярные выражения shell и perl, я бы порекомендовал rename. Это так же просто, как и название.

кон-е использование
источник
4

файловый менеджер thunar представляет собой графический интерфейс с возможностью массового переименования

http://thunar.xfce.org/pwiki/documentation/bulk_renamer

это не стандартно для Gnome, но может быть установлено через центр программного обеспечения

Саймон Б
источник
3

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

sudo aptitude install emacs23-nox

Запустите Emacs Dired для каталога:

emacs -nw path/to/dir/

Теперь войдите в режим редактирования каталога:

C-x C-q (то есть Ctrl + x, а затем Ctrl + q)

Теперь вы можете редактировать имена файлов, такие как редактирование текста в любом текстовом редакторе. Вы даже можете заменить имена файлов с помощью регулярных выражений (обратите внимание, что, к сожалению, Emacs использует синтаксис, отличный от PCRE).

Например, чтобы переименовать файлы с помощью счетчика (начиная с 1):
M-x replace-regexp(то есть Alt + x, за которым следует строка «replace-regexp», набранная в минибуфере внизу экрана).
Заменить регулярное выражение: DSCN\([0-9]+\).JPG
Заменить на: \,(format "P%04d.jpg" (1 + \#))

Чтобы повторно использовать счетчик в имени файла:
M-x replace-regexp
Замените регулярное выражение: DSCN\([0-9]+\).JPG
Замените на:\,(format "P%04d.jpg" (string-to-number \1))

Когда закончите, введите:

C-c C-c (это Ctrl + C, а затем Ctrl + C)

Или же нажмите следующую последовательность, чтобы отменить изменения:

C-c Esc (то есть Ctrl + C и Esc)

Матиас П.
источник
2

Я склонен использовать mmv , который основан на командной строке и имеет несколько необычный синтаксис выражений, но, как правило, решает большинство моих проблем.

Мистер акула
источник
1

Если вы используете Nautilus и знаете, как работают Nautilus Scripts, вы можете использовать nautilus-renamer .

Эрик Лундмарк
источник
0

В командной строке также есть возможность использовать магию sed и shell:

ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh
Мистер акула
источник
1
Это, кажется, не работает как напечатано. Вы также можете использовать «#» или другой символ вместо «\» в качестве разделителей в примерах для большей ясности. например, `ls .c | sed 's # ([az] ) \. c # \ 1.cpp #' `(этот пример не переименовывает, просто отображает новое имя файла, для простоты)
belacqua
+1 Я нахожу это действительно хорошим способом (который дополнительно работает во всех дистрибутивах), без установки чего-либо. Но я бы, вероятно, использовал -dпереключатель для того, lsчтобы избежать перечисления содержимого каталогов, которое также может заканчиваться .c(в большинстве случаев это не проблема, но все же ...).
Левит
0

В Windows есть действительно хорошая программа для этого под названием Bulk Rename Utility. Вот URL: http://www.bulkrenameutility.co.uk/Main_Intro.php .

Существует версия Unicode для Windows 98, которая является переносимой. Я помещаю это в папку в моей системе Linux (Mint Maya), и когда я запускаю его через Wine, он работает как шарм. Графический интерфейс очень прост в использовании и очень гибкий.

Кевин Уолберн
источник
Я почти хочу запустить это в вине. Это намного лучше, чем pyRenamer.
Teque5
0

Для меня pyRenamer работал лучше всего. Ничто (к сожалению) близко не подходит к Total Commanders, создавшему его инструмент переименования. pyRenamer не интегрируется с Krusader, но с учетом того факта, что вы не используете инструменты переименования, которые в любом случае часто бывают, pyRenamer - очень хороший вариант.

Артур Барсегян
источник
0

Это инструмент, который я использую: rnm ( страница руководства ) ( больше примеров )

Некоторое использование:

rnm file-name -ns new-filename             # single file
rnm ./* -ns '/n//i/'                       # files will be sorted and indexed.
rnm ./* -rs '/search/new/g'                # 'search' in filenames will be replaced with 'new'
rnm ./* -ns '/fn//i/' -ss 'search'         # only files/directories which contain 'search' in their name will be indexed (renamed).
rnm ./* -ns '/fn//id/' -fo                 # file only mode, directories will be ignored.
rnm ./* -ns '/fn//id/' -fo -dp -1          # recursive to subdirectories all the way.

etc...
Jahid
источник
Ссылка на веб-страницу переходит на neurobin.org/projects/softwares/unix/rnm и дает 404.
Муру
@muru: хм, что-то случилось со страницей, обновил ее до ссылки на страницу руководства.
Джахид
0

Лично я использую Ant Renamer с Wine, потому что ничего из того, что я пробовал (Métamorphose, PyRenamer, GPRename, KRename), не является настолько мощным, простым в установке и использовании. И это все еще FOSS, поэтому я не вижу проблемы.

Gamnamno
источник
0

Krename графический интерфейс KDE для переименования файлов, обычно встречающийся в большинстве менеджеров пакетов

Этот ответ относится к удалению первых чисел, которые могут быть найдены в музыкальных файлах, таких как mp3. Но Krenameмассовое переименование тоже.

  1. Загрузите выбранные файлы или папку. Krename загружает все файлы в выбранную папку, просто нажмите Openбез необходимости отдельно выбирать все файлы.

  2. Перейдите на Destinationвкладку, чтобы перезаписать или скопировать файлы в другую папку.

  3. Перейдите на Filenameвкладку, затем на Advanced Filenameвкладку.

     «Расширенное имя файла» изображение с настройками по умолчанию.

  4. Начните с удаления токена $в Templateокне. Изменение происходит в Renamedокне ниже. Не отображаются имена файлов, только расширения файлов.

    3. Изображение показывает, что имена файлов были удалены, оставив расширения файлов.

  5. Нажмите Insert Part of Filename...и выберите части имени файла, которые вы хотите сохранить. Эта операция будет включать в себя все файлы, и изменения будут очевидны в Renamedокне ниже.

    4. Изображение «Вставить часть имени файла ...», показывающее, как выбрать имя файла, выделив нужные разделы.

  6. Нажмите OK. Файлы переименованы без начальных чисел.

    5. Показ окончательных результатов.

  7. Наконец, нажмите Finishedв правом нижнем углу.

Скотт
источник
0

Inviska Rename - это новая утилита пакетного переименования графического интерфейса, которая работает в Linux (она также работает в Mac и Windows) .

введите описание изображения здесь

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

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

Источник

Logix
источник