Переименование файла в командной строке. Групповое переименование файлов в Windows
Если вы имеете кучу файлов, которые вы хотите переименовать, но не хотите возится с каждым по отдельности? Windows, предоставляет много способов сделать это.
Вы можете легко переименовать один или несколько файлов в Windows Explorer (Проводник), но вы также можете сделать это и с помощью командной строки или PowerShell .
Давайте рассмотрим каждый вариант и как он работает.
Переименование нескольких файлов в проводнике Windows.
Проводник Windows (известный как File Explorer в Windows 10) является удивительно мощным. Вы наверное знаете, как переименовать один файл, но давайте начнем с основ, так как передовые приемы имеются.
Если вы используете мышь, у вас есть не менее трех способов выбора названия файла и переименовать его.
Мы можем сделать следующее:
⦁ Нажмите, чтобы выбрать файл, а затем нажмите кнопку "Переименовать
" в главном меню.
⦁ Нажмите, чтобы выбрать файл, а затем щелкните имя выбранного файла.
⦁ Щелкните правой кнопкой мыши на файл, а затем выберите "Переименовать
" в контекстном меню.
А если вы предпочитаете клавиатуру то, вы можете просто использовать клавиши со стрелками (или начните вводить имя файла), чтобы выбрать файл, а затем нажмите клавишу F2 , чтобы выбрать имя файла.После того как вы выделили имя выбранного файла, вы сразу можете вписать своё имя.
Когда вы закончите вводить имя файла, нажмите Enter (или просто нажмите где-нибудь еще), чтобы сохранить новое имя.
Вот где все становится интересно: это когда вы нажимаете клавишу Tab для автоматического выбора следующего имени файла в папке, так что вы можете сразу же начать вводить новое имя для него. Продолжайте нажимать Tab и вводить имена таким образом, и вы можете легко переименовать все файлы в папке.
Если вы имеете кучу файлов в той же папке, и этим файлам не нужны разные имена то Windows обеспечивает простой способ переименовать эти файлы в пакетном режиме.
Начните с выделения нескольких файлов удерживая клавишу Ctrl+A , чтобы выбрать несколько файлов одновременно,или выбирайте файлы, используя одну из команд кнопкой Переименовать в меню Главная , команду в контекстном меню, или просто нажать F2 . Вы увидите, что все файлы остаются выделенными.
Введите новое имя файла, а затем нажмите клавишу Enter или щелкнуть где-нибудь еще в этом окне. Все выбранные файлы будут переименованы, используя имя которое вы только что ввели, и добавляются с номером в скобках, чтобы были номерные отличия.
Переименование нескольких файлов из командной строки
Если вам нужно больше возможностей вы можете использовать rename или ren команду в окне командной строки для одного или нескольких файлов.
Команда принимает подстановочные символы, такие как * и? для согласования нескольких файлов, которые могут быть полезны, если вы только хотите переименовать определенный набор файлов в папке.
Самый быстрый способ открыть окно командной строки в нужном место это сначала нужно открыть папку в File Explorer. В меню "Файл " выберите пункт "Открыть командную строку ", а затем выберите пункт "Открыть командную строку ".
Чтобы переименовать один файл, вы можете использовать следующий синтаксис команды:
ren "current_filename.ext" "new_filename.ext"
Эти кавычки необходимы, если ваши имена файлов содержат пробелы. Если пробелов нет то вы не нуждаетесь в кавычках.
Так, например, переименовать файлы с "WordFile (1) .docx" в "файл (01) .docx"используем следующую команду:
ren "wordfile (1).docx" "my word file (01).docx"
Поскольку ren команда может использоваться и для изменения расширения файла, вы можете также использовать его для изменения расширений нескольких файлов одновременно. Скажем, например, у вас был выбор.txt файлов которые вы хотели, чтобы они превратились в.html файлы. Вы можете использовать следующую команду вместе с шаблоном подстановки звёздочкой * :
ren *.txt *.html
Переименование нескольких файлов с помощью PowerShell
PowerShell предлагает еще большую гибкость для переименования файлов в среде командной строки.
С помощью PowerShell, вы можете использовать вывод одной команды известный как "commandlet " в PowerShell терминалах например на Linux и других UNIX-подобных систем. Вам нужны две важные команды это Dir в котором перечислены файлы в текущем каталоге, и Rename-Item который переименовывает элемент (файл, в данном случае).
Самый быстрый способ открыть окно PowerShell в нужном месте, нужно сначала открыть папку в. В меню "Файл " выберите пункт "Открыть Windows PowerShell ", а затем выберите пункт "Открыть Windows Powershell ."
Во-первых, давайте посмотрим на переименование одного файла. Для этого нужно использовать следующий синтаксис:
rename-item "current_filename.ext" "new_filename.ext"
Так, например, чтобы переименовать файл с "wordfile.docx" в "Мое Слово File.docx" то используем следующую commandlet:
rename-item "wordfile.docx" "My Word File.docx"
Это достаточно просто. Но реальная возможность в PowerShell происходит от способности синтаксиса commandlets вместе и некоторые из условных выводов, поддерживаемых rename-itemcommandlet.
Скажем, например, у нас была куча файлов с именем "WordFile (1) .docx", "WordFile (2) .docx", и так далее.
Скажем, мы хотели заменить пространство в этих именах файлов подчёркиваением, так чтоы в именах файлов не было пробелов. Мы могли бы использовать следующую commandlet:
dir | rename-item -NewName {$_.name -replace " ","_"}
И теперь, наши файлы выглядят так, как мы хотим.
Приложение AdvancedRenamer
Есть другой инструмент переименования это программа AdvancedRenamer .Она также предоставляет огромное количество методов переименования.Инструмент делает всю работу на отлично и имеет гораздо более дружественный интерфейс и поддерживает создание передовых пакетных заданий, так что вы можете объединить несколько методов переименования и применить их к большому количеству файлов. Вы также можете сохранить созданный метод переименования для последующего использования.
В приведенном ниже примере я создал метод переименования, используя следующий синтаксис:
Word File_
Эта команда говорит AdvancedRenamer назвать все мои файлы в "Word File" и добавить дату создания в формате ГМД (разделяющую каждое слово подчеркиванием). Он также добавляет добавочный номер файла в скобках и отделяются друг от друга дополнительным подчеркиванием.
И как вы можете видеть, мои файлы были переименованы именно так, как я хочу.
Есть ли другие способы для переименования файлов в Windows ? Не забудьте оставить нам комментарий и дайте нам знать об этом.
Изменяет имя файла или набора файлов.
Синтаксис
rename [диск : ][путь ] имя_файла_1 имя_файла_2
ren [диск : ][путь ] имя_файла_1 имя_файла_2
Параметры
[диск : ][путь ] имя_файла1 Задает местоположение и имя файла или набора файлов для переименования. имя_файла_2 Задает новое имя файла. Если используются подстановочные знаки (* и?), то имя_файла_2 указывает новые имена для файлов. При переименовании файлов нельзя задать новый диск или путь. /? Вывод справки в командной строке.Примечания
- Переименование файлов
Допускается переименование всех файлов, соответствующих заданному имени файла. Команду rename нельзя использовать для переименования файлов на разных дисках или для их перемещения в другой каталог.
- Использование подстановочных знаков при переименовании
Подстановочные знаки (* и?) могут быть использованы в параметрах, задающих имена. Если они использованы в параметре имя_файла_2 , то символы, замещаемые символами подстановки, будут теми же, что и в параметре имя_файла_1 .
- Команда переименования не будет работать, если имя_файла_2
уже существует.
Если имя файла, задаваемое параметром имя_файла_2 , уже существует, команда rename выведет на экран следующее сообщение:
Дублирование имени файла или файл не найден
Примеры
Допустим, что необходимо изменить расширения имен всех файлов в текущем каталоге с расширением.txt; например, требуется заменить расширение.txt на.doc. Для выполнения этих изменений введите:
Для переименования файла или каталога Chap10 в Part10 введите.
Переименование файла linux - очень простая операция, но для новичков в Linux эта задача может оказаться сложной. Также здесь есть несколько нюансов и возможностей, которые желательно знать уже опытным пользователям, например, массовое переименование. В графическом интерфейсе все делается очень просто, но настоящую гибкость дает терминал.
В этой статье мы рассмотрим как переименовать файл в Linux с помощью терминала, рассмотрим такие возможности, как массовое пакетное переименование файлов, а также регулярные выражения.
Как переименовать файл в Linux с помощью mv
В Linux существует замечательная стандартная утилита mv, которая предназначена для перемещения файлов. Но по своей сути перемещение - это то же самое, что и переименование файла linux, если выполняется в одной папке. Давайте сначала рассмотрим синтаксис этой команды:
$ mv опции файл-источник файл-приемник
Теперь рассмотрим основные опции утилиты, которые могут вам понадобиться:
- -f - заменять файл, если он уже существует;
- -i - спрашивать, нужно ли заменять существующие файлы;
- -n - не заменять существующие файлы;
- -u - заменять файл только если он был изменен;
- -v
Чтобы переименовать файл linux достаточно вызвать утилиту без дополнительных опций. Просто передав ей имя нужного файла и новое имя:
Как видите, файл был переименован. Вы также можете использовать полный путь к файлу или переместить его в другую папку:
mv /home/sergiy/test/newfile /home/sergiy/test/file1
Обратите внимание, что у вас должны быть права на запись в ту папку, в которой вы собираетесь переименовывать файлы. Если папка принадлежит другому пользователю, возможно, нужно будет запускать программу через sudo. Но в таком случае лучше запускать с опцией -i, чтобы случайно ничего не удалить.
Переименование файлов Linux с помощью rename
В Linux есть еще одна команда, которая позволяет переименовать файл. Это rename. Она специально разработана для этой задачи, поэтому поддерживает такие вещи, как массовое переименование файлов linux и использование регулярных выражений. Синтаксис утилиты тоже сложнее:
$ rename опции "s/ старое_имя / новое_имя " файлы
$ rename опции старое_имя новое_имя файлы
В качестве старого имени указывается регулярное выражение или часть имени которую нужно изменить, новое имя указывает на что нужно заменить. Файлы - те, которые нужно обработать, для выбора файлов можно использовать символы подставки, такие как * или?.
Рассмотрим опции утилиты:
- -v - вывести список обработанных файлов;
- -n - тестовый режим, на самом деле никакие действия выполнены не будут;
- -f - принудительно перезаписывать существующие файлы;
Например, переименуем все htm файлы из текущей папки в.html:
rename "s\.htm/\.html/" *.htm
Или для изображений:
rename "s\.jpeg/\.jpg/"*
Символ звездочки означает, что переименование файлов linux будет выполнено для всех файлов в папке. В регулярных выражениях могут применяться дополнительные модификаторы:
- g (Global) - применять ко всем найденным вхождениям;
- i (Case Censitive) - не учитывать регистр.
Модификаторы размещаются в конце регулярного выражения, перед закрывающей кавычкой. Перед тем, как использовать такую конструкцию, желательно ее проверить, чтобы убедиться, что вы не допустили нигде ошибок, тут на помощь приходит опция -n. Заменим все вхождения DSC на photo в именах наших фотографий:
rename -n "s/DSC/photo/gi" *.jpeg
Будут обработаны DSC, DsC и даже dsc, все варианты. Поскольку использовалась опция -n, то утилита только выведет имена изображений, которые будут изменены.
Можно использовать не только обычную замену, но и полноценные регулярные выражения чтобы выполнить пакетное переименование файлов linux, например, переделаем все имена в нижний регистр:
rename "y/A-Z/a-z/"*.jpeg
Из этого примера мы видим, что даже если такой файл уже существует, то он перезаписан по умолчанию не будет. Не забывайте использовать опцию -n чтобы ничего случайно не повредить.
Переименование файлов в pyRenamer
Если вы не любите использовать терминал, но вам нужно массовое переименование файлов Linux, то вам понравится утилита pyrenamer. Это графическая программа и все действия здесь выполняются в несколько щелчков мыши. Вы можете установить ее из официальных репозиториев:
sudo apt install pyrenamer
В окне программы вы можете видеть дерево файловой системы, центральную часть окна, где отображаются файлы, которые будут изменены, а также панель для указания параметров переименования.
Вы можете удалять или добавлять символы, переводить регистр, автоматически удалять пробелы и подчеркивания. У программы есть подсказки, чтобы сделать ее еще проще:
Опытным пользователям понравится возможность pyRenamer для переименования мультимедийных файлов из их метаданных. Кроме того, вы можете переименовать один файл если это нужно. Эта утилита полностью реализует функциональность mv и remove в графическом интерфейсе.
Выводы
В этой статье мы рассмотрели как переименовать файл в консоли linux. Конечно, есть и другие способы, например, написать скрипт, или использовать файловые менеджеры. А как вы выполняете сложные операции по переименованию? Напишите в комментариях!
Для переименования одного или нескольких файлов, а также каталогов посредством командной строки используются команды RENAME и MOVE.
Команда RENAME имеет следующий синтаксис: RENAME [диск:][путь] имя_файла1 имя_файла2. В данном случае «имя_файла1» определяет текущее название файла (каталога), а «имя_файла2» определяет название файла (каталога), которое он получит после переименования. Для примера, создадим на диске «С» файл «text.txt», тогда команда для переименования этого файла в файл «file.txt» будет выглядеть так: rename text.txt file.txt
Команда RENAME может переименовывать не только названия файлов, но и их расширения. Для примера, возьмем файл «file.txt», который мы получили ранее, переименованием файла «text.txt». Изменим у этого файла расширение с «txt» на «doc»: rename file.txt file.doc
Естественно, что команда RENAME может изменять название файла и его расширение одновременно. Например, переименуем файл «file.doc» в файл «text.txt»: rename file.doc text.txt
Команда RENAME допускает использование подстановочных знаков. Подстановочные знаки могут использоваться в именах файлов. Для примера, создадим на диске «С» в дополнение к существующему файлу «text.txt», еще один файл «format.txt». Тогда, для переименования (изменения расширения) обоих файлов используется команда: rename *.txt *.doc
Если подстановочные знаки используются только в параметре «имя_файла2», то результирующее название файла будет совпадать с названием исходного файла. Например, команда rename format.doc *.txt изменит название файла «format.doc» на «format.txt»
Если файл, заданный параметром «имя_файла2» уже существует, то команда RENAME не выполнится. Например, попробуем изменить файл «text.doc» на «format.txt»: rename text.doc format.txt
При переименовании каталога, параметр «имя_файла1» определяет текущее название каталога, а параметр «имя_файла2» - результирующее название каталога. Для примера, создадим на диске «С» папку «11», тогда команда для переименования этой папки в папку «22» будет выглядеть так: rename 11 22
Для закрепления данного материала вы можете поэкспериментировать с подстановочными символами. Например, возьмем такую команду: rename *.* file.html . Она кажется бессмысленной, т.к. все файлы текущего каталога переименовываются в один файл «file.html». Однако данная команда прекрасно выполняется. Дело в том, что все файлы переименовываются поочередно. В результате, первый (по алфавиту) файл будет переименован нормально, а при попытке переименовать 2-ой файл появится сообщение «файл с таким именем уже существует или не найден».
При использовании команды RENAME для параметра «имя_файла2» нельзя указать другой диск или каталог. Для этого используется команда MOVE.
Команда RENAME имеет аналог REN. Обе команды выполняют аналогичные действия и происходят от англ. «rename» - переименовывать.
Предыдущая статья: Команда DEL для удаления файлов.
Оглавление: Командная строка.
Следующая статья: Команда MOVE.