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

27

Я хочу переименовать несколько файлов одновременно. Например:

Picture1.jpg
Picture2.jpg
Picture3.jpg
Picture4.jpg

в

Vacation-Picture1.jpg
Vacation-Picture2.jpg
Vacation-Picture3.jpg
Vacation-Picture4.jpg

Я хорошо знаком с терминалом, если нет приложения, которое бы неплохо переименовывало файлы.

YeppThat'sMe
источник

Ответы:

26

Попробуйте что-то вроде этого:

 for file in Picture*.jpg
 do
    mv "$file" "vacation-$file"
 done  

(откройте терминал и добавьте одну строку {нажмите Enter} за раз.)

То, что это делает, использует переменный файл для каждой соответствующей записи Picture*.jpg. Затем он берет файл или папку и перемещает его с префиксом «каникулы».

надеюсь, это поможет

slowBear
источник
1
Что если я хотел бы переименовать Vacation-Picture4.jpgобратно Picture4.jpg? А именно удаление слова из имени файла. Благодарность!
Зы
29

Нет необходимости в командной строке ...

  1. Добавьте все изображения для переименования в папку.
  2. Выберите все файлы, щелкните правой кнопкой мыши и выберите «Переименовать x элементов»
  3. Выберите «Добавить текст» из первого выпадающего меню
  4. Выберите «Перед именем» из второго выпадающего меню
  5. Введите «Vacation_» в текстовое поле (без кавычек)
  6. Нажмите Ввод.
Искатель Гуру
источник
24
brew install rename

rename s/config\./route\.config\./g *

Сначала нужно установить доморощенный. Затем установите переименование, и приведенное выше регулярное выражение переименует все файлы с помощью «config». в "route.config".

Например, файлы config.a.js и config.b.js -> route.config.a.js, route.config.b.js.

Ник
источник
Согласно brew desc renameкоманде: «переименовать: Perl-скрипт для переименования файлов со многими полезными встроенными модулями». Команда brew home renameведет на http://plasmasturm.org/code/rename/ для документации и т. Д.
kjones
4

Хотя это не терминальное решение, мне нравится Forklift для этой цели (и для многих других). С их сайта:

Описание многократного переименования Forklift

Дэн Дж
источник
Да, конечно, есть терминальное решение. Я также нашел это в могущественном Google;) manytricks.com/namemangler
YeppThat'sMe
Вы также можете опубликовать NameMangler в качестве дополнительного ответа, так как это в основном вопрос рекомендации. :)
Дэн Дж
Чтобы переименовать несколько файлов (рекурсивно) с помощью Forklift ... просто выберите все файлы, затем расходуйте все каталоги по CMD + вправо ... пока вы не
покроете
4

Мне нравится ответ user933531, но если вам нужен графический интерфейс, приложение A Better Finder Rename действительно хорошо. Я получил это из App Store .

Trieu
источник
2

Если вы хотите переименовать файлы, я создал небольшой скрипт для этого.

# Rename Bullk files.
# Renames all the files in PWD with the given extension.
#
# @param extension | jpg
# @param new_name | name
# Usage: rename jpg new_name
function rename() {
    echo "———————————————— STARTED ————————————————"

    # Counter.
    COUNTER=1

    # For do loop.
    for file in *."$1"; do
        mv "$file" "$2-$COUNTER.$1"
        COUNTER=$[$COUNTER +1]
    done
    echo "———————————————— ✔✔✔ RENAMED Every $1 file in the PWD! ✔✔✔︎ ————————————————"
}

Просто вставьте его в ваш .bashrcили .zshrcи запустите, Usage: rename jpg new_nameчтобы переименовать все файлы jpg в PWD в new_name-1.jpg, new_name-2.jpg и т. Д.

Ура!

Ахмад Авайс
источник
В качестве альтернативы, чтобы поместить функцию в файлы .bashrc или .zshrc, я поместил ее в свой файл .bash_profile, и он прекрасно работает!
Елена
1

После загрузки переименуйте

brew install rename

выполнить следующую команду

rename -n -A Vacation- *

-А: готовый

-n: Показать, как файлы будут переименованы, но на самом деле ничего.

Итак, вы должны удалить флаги -n после просмотра результата.

Шон
источник