Переименование папки в командной строке. Команда RENAME для переименования файлов и каталогов
Переименование через Проводник работает быстро, но недостаточно гибко. В 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.