Переименование папки в командной строке. Команда RENAME для переименования файлов и каталогов

В Windows существует множество способов переименовать несколько файлов разом – через Проводник (Explorer), командную строку или PowerShell. Найдется решение и для любителей графического интерфейса, и для тех, кто предпочитает работать с командами.

Переименование через Проводник работает быстро, но недостаточно гибко. В PowerShell гибкости хоть отбавляй, но для новичка этот метод может оказаться пугающим. А если нужен мощный графический инструмент, придется использовать стороннюю программу.

Проводник

В Проводнике есть довольно неочевидный способ быстро переименовывать группы файлов. Для начала соберите все нужные файлы в одну папку. Переключитесь на вид «Таблица» (Details) и отсортируйте файлы в необходимом порядке – Проводник присваивает номера по списку начиная сверху.

Выделите все файлы, которые требуется переименовать, нажмите правой кнопкой мыши и выберите пункт «Переименовать» (Rename). Введите новое имя и нажмите .

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

Командная строка

В командной строке можно использовать команду rename или ren для массового переименования файлов. Можно задействовать групповой символ * для обозначения множества файлов разом.

Самый простой способ открыть окно командной строки в нужной папке – зажать , нажать на папке правой кнопкой мыши и выбрать «Открыть окно команд» (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 для выполнения более сложных операций можно .

Сторонние утилиты

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

После установки приложения найдите и выделите файлы для переименования.

Изменяет имя файла или набора файлов.

Синтаксис

rename [диск : ][путь ] имя_файла_1 имя_файла_2

ren [диск : ][путь ] имя_файла_1 имя_файла_2

Параметры

[диск : ][путь ] имя_файла1 Задает местоположение и имя файла или набора файлов для переименования. имя_файла_2 Задает новое имя файла. Если используются подстановочные знаки (* и?), то имя_файла_2 указывает новые имена для файлов. При переименовании файлов нельзя задать новый диск или путь. /? Вывод справки в командной строке.

Примечания

  • Переименование файлов

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

  • Использование подстановочных знаков при переименовании

    Подстановочные знаки (* и?) могут быть использованы в параметрах, задающих имена. Если они использованы в параметре имя_файла_2 , то символы, замещаемые символами подстановки, будут теми же, что и в параметре имя_файла_1 .

  • Команда переименования не будет работать, если имя_файла_2 уже существует.

    Если имя файла, задаваемое параметром имя_файла_2 , уже существует, команда rename выведет на экран следующее сообщение:

    Дублирование имени файла или файл не найден

Примеры

Допустим, что необходимо изменить расширения имен всех файлов в текущем каталоге с расширением.txt; например, требуется заменить расширение.txt на.doc. Для выполнения этих изменений введите:

Для переименования файла или каталога Chap10 в Part10 введите.

Для переименования одного или нескольких файлов, а также каталогов посредством командной строки используются команды 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.