Основной синтаксис команды переименования
rename 's/old-name/new-name/' filesКоманда rename содержит несколько необязательных аргументов вместе с обязательными регулярными выражением для perl, которое указывают команде rename выполнять конкретные действия.
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]- -v: Показать, имена успешно переименованных файлов.
- -n: Показать, какие файлы были бы переименованы.
- -f: Принудительно перезаписать существующие файлы.
- perlexpr: регулярные выражения для Perl.
Для лучшего понимания этой утилиты мы обсудим несколько практических примеров этой команды в статье.
Пример базовой команды переименования
Предположим, у вас есть куча файлов с расширением «.html», и вы хотите переименовать все файлы в «.php» за один раз. Сначала выполните «ls -l», чтобы проверить список файлов с расширением «.html».
# [email protected]:~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html
-rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html
-rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html
-rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html
-rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.htmlТеперь изменим расширение всех этих файлов с «.html» на «.php». Вы можете использовать следующую команду «rename» с регулярными выражением для perl, как показано ниже.
[email protected]:~$ rename 's/.html$/.php/' *.htmlПримечание. В приведенной выше команде мы использовали два аргумента.
- Первый аргумент — это выражение perl, которое заменяет .html на .php.
- Второй аргумент — сообщает команде rename заменить все файлы на *.php.
Давайте проверим, все ли файлы переименованы в расширение .php, выполнив ls -l:
[email protected]:~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.php
-rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.php
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.php
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.php
-rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.php
-rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.php
-rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.phpВыше вы видите, что все html файлы переименованы в php.
Проверьте изменения перед выполнением команды переименования
При выполнении важных или крупных задач переименования вы всегда можете проверить изменения, выполнив команду rename с аргументом «-n». Параметр «-n» точно скажет вам, какие изменения произойдут, но изменения не выполняются по-настоящему. Вот пример приведенной такой команды:
[email protected]:~$ rename -n 's/.php$/.html/' *.php
cricket.php renamed as cricket.html
entertainment.php renamed as entertainment.html
health.php renamed as health.html
lifestyle.php renamed as lifestyle.html
news.php renamed as news.html
photos.php renamed as photos.html
sports.php renamed as sports.htmlПримечание. Вышеуказанный вывод команды отображает только изменения, но в реальности изменения не выполняются, если только вы не запускаете команду без флага «-n».
Преобразование регистров (верхний в нижний и наоборот)
Чтобы разом переименовать все файлы с именами написанными нижним регистром в верхний регистр, необходимо:
Перезапись существующих файлов
Если вы хотите принудительно перезаписать существующие файлы, используйте параметр «-f», как показано в примере ниже.
[email protected]:~$ rename -f 's/a/b/' *.htmlВерхний регистр в нижний:
Аналогично, вы также можете преобразовать все символы верхнего регистра в нижний регистр, используя следующую команду:
[email protected]:~$ rename 'y/A-Z/a-z/' *.HTML[email protected]:~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html
-rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html
-rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html
-rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html
-rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.htmlКак переименовать файл в командной строке
Командная строка – мощный инструмент, который позволяет производить любые операции с файлами, хранящимися в системе. При работе через терминал зачастую возникает необходимость произвести базовые преобразования – переименовать документ или переместить его в другую директорию. Для этого используются соответствующие команды.
Курсы cisco и linux с трудоустройством!
Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
Нижний регистр в верхний:
[email protected]:~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html
-rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html
-rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html
-rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html
-rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.htmlПросто используйте следующую команду с выражением perl.
[email protected]:~$ rename 'y/a-z/A-Z/' *.htmlПосле выполнения вышеуказанной команды вы можете проверить изменения, выполнив «ls -l».
[email protected]:~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 CRICKET.HTML
-rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 ENTERTAINMENT.HTML
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 HEALTH.HTML
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 LIFESTYLE.HTML
-rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 NEWS.HTML
-rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 PHOTOS.HTML
-rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 SPORTS.HTMLВы видите, что приведенная выше команда фактически переименовала все имена файлов нижнего регистра (с расширением .HTML) в верхний регистр.
Переименование нескольких файлов в linux
Команда «rename» является частью скрипта Perl и находится в разделе «/usr/bin/» во многих дистрибутивах Linux. Вы можете запустить команду «which», чтобы узнать местоположение команды rename.
$ which rename
/usr/bin/renameСмена имени компьютера через графический интерфейс windows [gui]
И так заходим в “Панель управления”(Рис.1) -> “Система”.(Рис.2)

В окне “Система” находим раздел “Имя компьютера, имя домена и параметры рабочей группы”, справа нажимаем на надпись – “Изменить параметры”.(Рис.2)

Откроется окно – “Свойства системы”.(Рис.3) [Кстати сразу же открыть это окно можно через “Выполнить”, вписав туда – sysdm.cpl]
На первой вкладке – “Имя компьютера” нажимаем кнопку – “Изменить”.

Откроется еще одно окно – “Изменение имени компьютера или домена”.(Рис.4)

В строке – “Имя компьютера” вписываем, удобное для нас, имя компьютера. В моем случае я поменял на – “CONTROLLER”, и жмём – “ОК”.(Рис.5)

Получаем сообщение – “Чтобы изменения вступили в силу нужно перезагрузить компьютер” -> жмём – “ОК”.(Рис.6)

Закрываем окно – “Свойства системы”.(Рис.7)

Получаем предложение – “Перезагрузить ПК сейчас” или “Перезагрузить ПК позже”.(Рис.8)
У меня ничего стороннего не запущено, и в сохранении ничего не нуждается. Короче перезагружаемся…

После перезагрузки проверяйте “Панель управления”(Рис.1) -> “Система”(Рис.2) Имя компьютера должно поменяться…
Смена имени компьютера через командную строку [cmd]
Для начала нам необходимо запустить командную строку с правами администратора, для этого выполните действия -> Заходим в “Выполнить”[Win R] -> Вписываем – cmd -> Нажимаем на клавиатуре сочетание клавиш “CTRL” “SHIFT” “ENTER”. Всё! Приступаем.
Для начала, наверное, нужно посмотреть имя ПК, командой – hostname, а после, сделав выводы о том, что оно вас не устраивает, приступать к его изменению 😀 :
hostname
Для смены имени компьютера воспользуйтесь командой:
wmic computersystem where name="%computername%" call rename name="НОВОЕ_ИМЯ_ПК"Так же покажу на своём примере… Я решил переименовать ПК в – “DC”.(Рис.9)
После ввода команды, ПК нужно перезагрузить… Раз уж начали в CMD, то и продолжим в CMD. Перезагружаемся командой – shutdown -r:
shutdown -r

После перезагрузки опять открываем командную строку и проверяем поменялось ли имя ПК, командой – hostname:(Рис.10)
hostname

Как видим в выводе команды написано – “DC”, а это значит, что смена имени ПК через командную строку прошла успешно. 🙂
Смена имени компьютера через командную строку [powershell]
Для начала нам необходимо запустить PowerShell c правами администратора, для этого выполните действия -> Заходим в “Выполнить”[Win R] -> Вписываем – powershell -> Нажимаем на клавиатуре сочетание клавиш “CTRL” “SHIFT” “ENTER”. Всё! Приступаем.
Для начала посмотрим имя ПК[Оно хранится в переменной – $env:COMPUTERNAME](Рис.11):
$env:COMPUTERNAME
Как видим: Имя моего ПК – DESKTOP-AREI4D1

Для смены имени компьютера воспользуйтесь командой:
Как вы уже знаете – Для того чтобы cмена имени ПК завершилась, требуется перезагрузка.
Обратите внимание что в команде присутствует опция -Restart, а это значит, что ПК после ввода команды, сразу же перезагрузится. Можно конечно, удалить -Restart, взять паузу и перезагрузить ПК тогда, когда вам это будет необходимо, командой – Restart-Computer.
Rename-Computer -NewName "НОВОЕ_ИМЯ_ПК" -RestartПосле перезагрузки проверьте имя ПК:
$env:COMPUTERNAME
Четыре способа группового переименования файлов в windows
Переименование через Проводник работает быстро, но недостаточно гибко. В PowerShell гибкости хоть отбавляй, но для новичка этот метод может оказаться пугающим. А если нужен мощный графический инструмент, придется использовать стороннюю программу.
Проводник
В Проводнике есть довольно неочевидный способ быстро переименовывать группы файлов. Для начала соберите все нужные файлы в одну папку. Переключитесь на вид «Таблица» (Details) и отсортируйте файлы в необходимом порядке – Проводник присваивает номера по списку начиная сверху.
Выделите все файлы, которые требуется переименовать, нажмите правой кнопкой мыши и выберите пункт «Переименовать» (Rename). Введите новое имя и нажмите [Enter].
Проводник добавит к этому имени номер для каждого файла. Удобный способ привести все файлы к одному знаменателю, хотя и не слишком гибкий.
Командная строка
В командной строке можно использовать команду rename или ren для массового переименования файлов. Можно задействовать групповой символ * для обозначения множества файлов разом.
Самый простой способ открыть окно командной строки в нужной папке – зажать [Shift], нажать на папке правой кнопкой мыши и выбрать «Открыть окно команд» (Open command window here).
Чаще всего командное переименование используют для изменения расширения у целой группы файлов – в Проводнике так сделать нельзя. Приведенная ниже команда, например, превращает все файлы .html в .txt:
ren *.html *.txt
Сама по себе команда не очень функциональная, но ее можно применять в сложных сценариях.
PowerShell
PowerShell предлагает гораздо больше возможностей переименования файлов в командной среде. С помощью PowerShell можно передать вывод одной команды (командлета, как это здесь называется) другой команде, точно так же, как в Linux и других UNIX-подобных системах.
Главные команды – это Dir для получения списка файлов в текущей папке и Rename-Item для переименования объекта (в данном случае файла). Достаточно передать вывод Dir команде Rename-Item – и готово.
После запуска PowerShell используйте команду cd для перехода в папку с нужными файлами. Лучше всего переложить все файлы в одну папку, чтобы не переименовать нечаянно лишнее.
Допустим, мы хотим заменить пробелы в именах файлов на подчеркивания.
Приведенная ниже команда выводит список файлов в текущей папке и передает его команде Rename-Item, а та заменяет все пробелы на подчеркивания.
Dir | Rename-Item –NewName { $_.name –replace “ “,”_” }
Можно заменить “ “ и “_” на другие символы, чтобы переименовать файлы по-другому.
Подробнее об использовании Rename-Item для выполнения более сложных операций можно прочитать в документации Microsoft.
Сторонние утилиты
Если требуется мощный инструмент для массового переименования файлов, а с командной строкой возиться не хочется, можно использовать сторонние утилиты, например Bulk Rename Utility. Правда, интерфейс у этого приложения довольно запутанный, поскольку дает массу возможностей, которые обычно достижимы только с использованием регулярных выражений и сложных команд.
После установки приложения найдите и выделите файлы для переименования.
Измените настройки в одной или нескольких панелях – и увидите предварительные результаты изменений в столбце «New Name» («Новое имя»). Допустим, мы хотим убрать все, кроме цифр, и оставить в именах картинок только номера. Можно задать в панели «Remove» («Убрать») удаление первых десяти символов и одного последнего.
После этого достаточно нажать кнопку «Rename» («Переименовать») для применения изменений.
А может быть, вы предпочитаете какое-нибудь другое приложение для массового переименования файлов? Расскажите в комментариях!
Автор: Chris Hoffman
Перевод SVET
Вывод полной информации обо всех изменениях
Мы видели, что команда rename не отображает никакой информации об изменениях, которые она делает. Итак, если вы хотите получить информацию о команде переименования вы можете использовать флаг «-n», или же флаг «-v», чтобы вывести полную информацию обо всех изменениях, сделанных командой rename.
[email protected]:~$ rename -v 's/.php$/.html/' *.php
cricket.php renamed as cricket.html
entertainment.php renamed as entertainment.html
health.php renamed as health.html
lifestyle.php renamed as lifestyle.html
news.php renamed as news.html
photos.php renamed as photos.html
sports.php renamed as sports.html


