Как переименовать файлы с помощью bat
Обновлено: 07.07.2024
нужен батник, который бы переименовывал по следующему шаблону:
из имени файла с конца удалял заданное число символов, например 32, в итоге
переименованный файл должен принять вид:
нашел как переименовывать просто файлы:
но никак не могу понять, как удалять символы с конца имени файла в данном случае.
alex_diablo
Активный пользователь
вобщем, поковырялся и сделал вот так:
работает, но как то мне кажется, не совсем корректно сделано.
может кто поправит?
еще хотелось бы обрезание имени файла вынести в переменную, чтобы можно было в переменной указывать, сколько символов откуда отрезать, с начала или с конца, или заменять в середине, или.
но что то у меня не получилось вложить переменную в переменную. туплю с экранированием символов. просьба помочь.
Dragokas
Very kind Developer
alex_diablo, все Вы нормально сделали.Двойное раскрытие переменной можно организовать так:
alex_diablo
Активный пользователь
а как сделать, чтобы не нужно было высчитывать количество символов? ну вот например, в имени файла есть 4 символа нижнего подчеркивания.
и нужно все символы, которые после последнего знака подчеркивания - убрать, т.е. файл 456123agents_preview_pack_004_BC15F9146A415178B95BE92EB26DD92F-56.unity3d
после переименования должен иметь вид: 456123agents_preview_pack_004.unity3d
пробовал задействовать вот этот вариант:
но что то не получается.
в идеале - нужно иметь возможность в переменную задать количество подстрок, на которые будет разбиваться имя файла и переименовывать в соответствии с необходимым
количеством разделителей (в данном случае - символ нижнего подчеркивания)
надеюсь понятно объяснил.
Dragokas
Very kind Developer
А не получится ли так, что среди тех файлов, что нужно переименовать попадется456123agents_preview_pack_004
у которого соответственно урежется часть _004
?
alex_diablo
Активный пользователь
alex_diablo, все Вы нормально сделали.Двойное раскрытие переменной можно организовать так:
а в данной версии кода хотелось бы всю команду
чтобы в конечном итоге можно было проводить с ней различные манипуляции в зависимости от потребностей. чтобы в саму строчку переименования не лазить.
Dragokas
Very kind Developer
2. Можно как-то привязаться к кол-ву знаков подчеркивания,или может получится, что таких знаков = 3, а строку все равно нужно урезать до 2-ух знаков подчеркивания ?
alex_diablo
Активный пользователь
А не получится ли так, что среди тех файлов, что нужно переименовать попадется456123agents_preview_pack_004
у которого соответственно урежется часть _004
? нет. т.к. заведомо известно, что в одно время в одной папке находятся файлы, именнованные все по одному шаблону. но в разное время количество разделителей может быть разное, поэтому и нужна возможность задать количество разделителей, чтобы подстраивать скрипт.
alex_diablo
Активный пользователь
2. Можно как-то привязаться к кол-ву знаков подчеркивания,или может получится, что таких знаков = 3, а строку все равно нужно урезать до 2-ух знаков подчеркивания ?
поясню задачу: есть файлы вида: agents_preview_pack_002_1171C57D8808635BA4F8AFAEA5149D8D.unity3d
agents_preview_pack_004_1171C57D8808635BA4F8AFAEA5149D8D.unity3d
agents_preview_archive_010_1171C57D8808635BA4F8AFAEA5149D8D.unity3d
вот в них нужно убирать хеш (символы вида 1171C57D8808635BA4F8AFAEA5149D8D)
т.е. после манипуляций переименования все файлы должны принять вид:
agents_preview_pack_002
agents_preview_pack_004
agents_preview_archive_010
С помощью командной строки можно выполнять любые операции с файлами и папками. Например, их можно редактировать, копировать, перемещать или переименовывать. В данной статье мы рассмотрим именно переименования. Здесь вы узнаете, как переименовать файл или папку в командной строке Windows 10 или Windows 7.
Команда RENAME (REN)
Для переименования файлов и папок в командной строке Windows 10 или Windows 7 нужно использовать команду REN (или ее синоним RENAME). Данная команда принимает путь к файлу, который нужно переименовать, и новое название. Синтаксис команды выглядит следующим образом:
[<drive>:] | Диск, на котором расположен файл или каталог, который нужно переименовать. |
[<path>] | Путь к файлу. |
<filename1> | Имя файла |
<filename2> | Новое имя для файла. |
- Команда rename позволяет использовать подстановочные знаки (* и ?). С их помощью можно переименовать сразу несколько файлов. Замененные подстановочными знаками символы будут идентичными символам из исходного имени.
- Новое имя (<filename2>) должно быть уникальным. Если такое имя уже занято, то будет выведена ошибка.
- Команду rename нельзя использовать для перемещения файлов в другую папку или на другой диск.
Примеры переименования
Для того чтобы переименовать файл в текущей папке достаточно ввести команду « ren » и указать старое и новое название. Например:
Для переименования сразу нескольких файлов можно использовать подстановочные знаки (* и ?). Например, для того чтобы изменить расширение всех файлов с html на txt нужно выполнить следующую команду:
Таким же образом переименовываются и папки.
Если в названии файла или папки имеются пробелы, то такие названия нужно заключать в двойные кавычки. Например:
При необходимости можно указать полный путь к исходному файлу, который нужно переименовать. Например, для того чтобы переименовать документ « new name.txt » в папке « d:\temp\ » нужно выполнить следующую команду:
Обратите внимание, если вы создаете командный файл (*.bat, *.cmd), то для корректного переименования файлов или папок с кирилличными символами, текст команд должен быть сохранен в DOS-кодировке (CP866) .
Сохранить в такой кодировке можно с помощью текстового редактора Akelpad (скачать).
Рано или поздно почти каждый пользователь сталкивается с тем, что ему требуется выполнить массовое переименование группы файлов: иногда задача простая — например, нужно дать им имена с номерами по порядку, иногда — более сложная: к примеру, нужно изменить имена группы файлов таким образом, чтобы они имели в имени номер, дату создания, какую-либо дополнительную информацию.
Всё это можно реализовать в том или ином виде, для части сценариев достаточно встроенных средств Windows 10, 8.1 или Windows 7, иногда лучше использовать специальные программы для массового переименования файлов и папок. И те и другие методы будут рассмотрены в этой инструкции. Кстати, функции переименования группы файлов есть в наборе полезных утилит Microsoft PowerToys для Windows 10.
Advanced Renamer
Advanced Renamer — бесплатная программа для массового переименования файлов и папок с использованием настраиваемых шаблонов, которая может очень многое, если с нею разобраться. На официальном сайте доступна на русском языке как в виде установщика, так и portable версии (ZIP-архив, не требующий установки). Приведу пример использования Advanced Renamer для массового переименования группы файлов:
- Есть папка фотографий (но метод подойдет и для любых других типов файлов), снятых в одно время, но на разные устройства (фотоаппарат и смартфон). Часть имеют в качестве имени дату и время без пробелов, часть — номер снимка, сделанного фотоаппаратом. При этом имя файла и расширение файлов с камеры написано в верхнем регистре. Задача — привести имена группы файлов к удобному виду.
- Запускаем Advanced Renamer, затем либо перетаскиваем файлы для переименования в список по центру интерфейса, либо нажимаем кнопку «Панель папок», находим папку с нужными файлами и нажимаем кнопку «Добавить». Откроется окно, где можно задать параметры добавления: в моем случае всё оставляю как есть: нужно переименовать все файлы.
- Следующий этап — нажать «Добавить метод» в панели слева и выбрать «Новое имя» (возможны и иные методы, о них далее), чтобы определить, как именно будут переименовываться файлы. Здесь начинается самое интересное. В качестве новых имен файлов мы можем использовать предопределенные в программе теги, позволяющие легко подставлять в новые имена файлов нужную информацию. При необходимости вы можете нажать «Справка по тегам», чтобы получить более подробную информацию (правда, на английском) на официальном сайте. Но уже из краткого описания каждого тега должно быть примерно ясно, что именно они означают. Например, если в поле «Новое имя» в настройках метода я введу:то получу в результате имена файлов видаПричем дата съемки будет браться не из даты изменения файла (что тоже можно сделать), а из данных EXIF, записанных камерой.
- Чтобы у файлов не получилось двойное расширение, при его смене в поле «Применить к» нужно выбрать «Имя и расширение», а не просто «Имя». Если вы не меняете расширение, то оставьте этот параметр со значением по умолчанию (в этом случае шаблон переименования не будет применяться к расширениям файлов).
- Какие имена файлов получатся после переименования вы можете наблюдать сразу на центральной вкладке программы ещё до запуска процесса массового переименования.
- Чтобы приступить, достаточно нажать кнопку «Запустить» и подтвердить запуск переименования. Если нужно не просто переименовать, а скопировать или переместить файлы в другое расположение, в поле «Пакетный режим» вверху окна программы выберите соответствующий пункт.
- В результате получим группу файлов, переименованных по заданному нами шаблону.
Добавляемые методы (шаблоны переименования) сохраняются в программе, и вы можете выбирать нужный в нужное время. При нажатии правой кнопкой мыши по названию шаблона можно изменить его описание, например «Для фото», «Для архивов» и как угодно ещё. С шаблонов, которые не нужно использовать при текущем процессе переименования достаточно снять отметки.
Также при переименовании можно использовать не единственный шаблон, а сразу несколько (отмечаем соответствующие шаблоны, и они будут применяться в том порядке, в котором расположены в столбце «Методы переименования»): например, первый изменяет имя, второй — регистр в имени файлов, третий — удаляет «мусорные» символы из имени файла (для этого используем метод «Замена»).
Я привел лишь простой пример использования программы, но может она и многое другое: к примеру, вы можете сохранить файл шаблонов, а затем запускать переименование нужной группы файлов по нужному шаблону из командной строки, импортировать список файлов и новых имен из таблиц CSV, массово изменять атрибуты файлов, задавать случайные имена файлов, оптимизировать имена для использования в сети (или превратить кириллицу в транслитерацию), использовать информацию EXIF, данные тегов ID3, видео, GPS и не только.
Чтобы познакомиться с некоторыми готовыми шаблонами, можете нажать кнопку «Открыть» в методах переименования и посмотреть один из 4-х предопределенных в Advanced Renamer шаблонов и как именно они устроены.
Переименование группы файлов средствами Windows 10, 8.1 и Windows 7
Проводник Windows, командная строка и PowerShell могут быть использованы для массового переименования файлов и некоторые простые задачи вполне выполнимы с использованием этих средств (а если вы умеете писать скрипты PowerShell, спектр реализуемых задач становится заметно шире). Далее — примеры переименования в каждой из указанных системных утилит.
Переименование нескольких файлов в Проводнике Windows
Сначала о простом ручном переименовании в проводнике: вы можете выбрать файл, а затем выбрать в контекстном меню пункт «Переименовать». Еще быстрее будет нажать F2 после выделения файла. Не все знают, но, если после ввода нового имени файла нажать клавишу Tab, автоматически будет начато переименование следующего в папке файла.
Еще один вариант, подойдет мало для чего, но знать о нём имеет смысл: выбираем несколько файлов в папке в проводнике (мышью, либо удерживая Shift при выборе, либо удерживая Ctrl и нажимая мышью по отдельным файлам). После этого нажимаем F2 (или выбираем «Переименовать» в контекстном меню) и вводим имя для того файла, изменение имени которого начнется. Нажимаем Enter по окончании.
В результате все файлы будут иметь одинаковое имя, но после каждого имени в скобках будет указан номер по порядку, как на скриншоте.
Возможности переименования в командной строке
Командная строка также позволяет выполнять переименование группы файлов с помощью стандартной команды ren (для начинающих: Как запустить командную строку).
Примеры использования команды для переименования группы файлов, используя которые можно составить и свою команду:
В результате выполнения все файлы в текущей папке (на скриншоте выбрана командой cd путь_к_папке) с расширением .jpg приобретут расширение .jpg. Значок «зведочка» в команде может заменять любой набор символов (как один символ, так и сразу несколько).
Указанная команда изменит расширение всех файлов в текущей папке с jpeg на jpg, а также сократит их имена до первых 5 символов. Вопросительный знак в команде означает любой один символ. Команда может выдать ошибку, если первые пять букв в имени двух и более файлов будут совпадать.
Команда переименует все без исключения файлы в папке и приведет их к виду: file-старое_имя_файла.old (старое расширение при этом исчезнет).
Массовое переименование файлов в PowerShell
Еще один инструмент Windows, который может быть использован для массового переименования файлов и папок — Windows PowerShell. Самый быстрый способ его запуска — использовать поиск в меню пуск (панели задач) или, если у вас Windows 10 — нажать правой кнопкой мыши по кнопке Пуск и выбрать нужный пункт меню в контекстном меню (Другие способы: Как запустить Windows PowerShell).
В PowerShell есть команда Rename-Item для переименования файлов, которая при работе с единственным файлом может быть использована почти так же, как команда ren в командной строке, но благодаря возможности PowerShell использовать одни команды с другими, rename-item оказывается более функциональной. Несколько примеров:
В результате будут изменены все расширения файлов .jpg на .jpg в текущей папке.
Команда выше заменит все пробелы в именах файлов .jpg в текущей папке на знаки нижнего подчеркивания.
К имени каждого файла в начале будет добавлено «Секретный файл» и пробел.
К имени каждого файла будет добавлено нижнее подчеркивание и дата в формате День-Месяц-Год.
Массовое переименование файлов в Total Commander
Многие пользователи используют Total Commander для работы с файлами на диске. Возможности группового переименования есть и в этой программе, реализовано это очень просто:
- Выделите нужные файлы (используйте Shift и стрелки клавиатуры, правым кликом мыши, Ctrl+выбор мышью).
- Нажмите Ctrl+M или выберите в меню «Файл» — «Групповое переименование файлов».
- Задайте параметры переименования в разделе «Маска для имени файла», используя предложенные маски, замены, изменение регистра, счетчик, а также опции из раздела «Плагины». Меняя опции, в окне предварительного просмотра вы сразу будете видеть, как именно будут называться уже переименованные файлы. Для изменения расширения используйте поле «Маска для расширения».
- В примере выше на скриншоте набор файлов будет переименован в Photo- с последующим добавлением счетчика из трех цифр и датой создания в формате ДД-ММ-ГГГГ (доступно в плагинах), расширение будет изменено на jpeg, а имя файла переведено в нижний регистр.
Сначала использование утилиты массового переименования в Total Commander может показаться сложным для кого-то, но, если слегка разберетесь, уверен, инструмент станет полезным и удобным.
Видео инструкция
В завершение видео о массовом переименовании файлов в Total Commander и Advanced Renamer, как самых эффективных способах.
Существуют и другие программы для рассмотренных целей (например, бесплатная Bulk Rename Utility), но, на мой взгляд, приведенных выше будет более чем достаточно почти для любых задач переименования.
Переименование файлов в проводнике
Один файл переименовать легко, можно нажать на него правой кнопкой мыши и выбрать переименовать, после чего написать нужное название. Также один файл можно переименовать с помощью клавиши F2, дополнительных настроек проводника и т.д. Но что делать, если у нас порядка 40 файлов и их все нужно переименовать? Можно тыкать на каждый по отдельности, а можно переименовать их всех одним махом.
1.Откройте любую папку, вложите туда все файлы, которые вы хотите переименовать.
3. Выделите все файлы, которые вы хотите переименовать: выбираем первый и удерживая клавишу Shift стрелкой вниз выделяем все файлы (или нажмите клавиши Ctrl+A на клавиатуре).
Переименование файла с помощью командной строки
С помощью командной строки можно переименовать большое количество файлов, а также с помощью той же команды можно изменить расширение всех файлов в папке.
1.Откройте командную строку в папке с нужными файлами: зайдите в папку с файлами для переименование и в адресной строке введите cmd, после чего нажмите Enter. После данных действий откроется командная строка в данной папке.
3.Таким способом мы сменили расширение для группы файлов.
Переименование нескольких файлов с помощью PowerShell
Результат на лицо 🙂
В PowerShell много различных вариантов переименования и это только малость того, что умеет данный инструмент, но об этом в другой раз.
Переименовать группу файлов с помощью Total Commander
Если у вас установлен файловый менеджер Total Commander, то вы можете воспользоваться им для переименование большого количества файлов:
1.Откройте Total Commander.
2. Зайдите в папку, файлы которой вы хотите переименовать.
3. Выделите все файлы, которые вы хотите переименовать (с помощью клавиш Ctrl+A можно выделить всё в папке, или с помощью удерживания клавиши Shift и нажатия на стрелки).
Читайте также: