Як перейменувати кілька файлів одночасно?


27

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

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

в

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

Я добре знайомий з терміналом, якщо немає додатка, який досить добре перейменовує файли.

Відповіді:


26

Спробуйте щось подібне:

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

(відкрийте термінал і додайте по одному рядку {натисніть Enter}.)

Для цього використовується файл змінної для кожної відповідності запису Picture*.jpg. Потім він бере файл або папку і переміщує його з префіксом "відпустка".

Сподіваюся, що це допомагає


1
Що робити, якщо я хотів би перейменувати його Vacation-Picture4.jpgназад Picture4.jpg? А саме, видалення слова з імені файлу. Спасибі!
zyy

29

Немає потреби в командному рядку ...

  1. Додайте всі зображення, які потрібно перейменувати, у папку.
  2. Виберіть усі файли, клацніть правою кнопкою миші та виберіть "Перейменувати х елементів"
  3. У першому спадному меню виберіть "Додати текст"
  4. У другому спадному меню виберіть "Перед назвою"
  5. Введіть "Відпустка_" у текстове поле (без лапок)
  6. Натисніть Enter.

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 для цієї мети (і для багатьох інших). З їх веб-сайту:

Опис функції Multi-перейменування Forklift


Так, напевно, є рішення, що базується на терміналі. Я також виявив це на могутньому google;) manytricks.com/namemangler
YeppThat'sMe

Ви можете також опублікувати NameMangler як додаткову відповідь, оскільки це в основному питання рекомендації. :)
Dan J

Для перейменування декількох файлів (рекурсивно) за допомогою Forklift .. просто виберіть усі файли, потім витратіть усі каталоги CMD + вправо .., поки ви не
покриєте


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, подивившись на результат.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.