Гид по технологиям

Пакетное переименование файлов с помощью Python

5 min read Python Обновлено 06 Jan 2026
Пакетное переименование файлов в Python
Пакетное переименование файлов в Python

TL;DR

Пакетное переименование файлов упрощает организацию коллекций документов, фотографий и отчётов. В статье показано простое Python-решение: скрипт принимает шаблон из командной строки и переименовывает все файлы в папке, добавляя счётчик и сохраняя расширения.

Важно: всегда делайте резервную копию или работайте с копией папки перед массовым переименованием.

Файлы в офисном ящике

Пакетное переименование — эффективный способ навести порядок в цифровых файлах. Это особенно полезно, если у файлов нет содержательных или единообразных имён.

Вы можете автоматизировать пакетное переименование с помощью простого Python-скрипта. Передайте шаблон в скрипт, и он переименует все файлы в папке согласно выбранной конвенции именования.

Когда скрипт готов, запустите его в командной строке, и он переименует все файлы в указанной папке.

Что нужно знать прежде чем начать

Короткие определения:

  • Пакетное переименование — массовое изменение имён файлов в папке по единому правилу.
  • Шаблон — строка, которая задаёт формат нового имени; в примере используется аргумент командной строки с заполнителем для счётчика.

Требования:

  • Установлен Python (версия 3.x).
  • У вас есть права на чтение/запись в целевой папке.

Как перебрать все файлы в директории

Существует много способов массово переименовать файлы в Windows: через Проводник, PowerShell, сторонние утилиты или командную строку. Один из гибких методов — написание Python-скрипта.

Чтобы переименовать все файлы в папке, нужно перебрать набор файлов в этой директории. Ниже — пошаговый пример и исходный скрипт (полный репозиторий можно разместить на GitHub для удобства).

  1. Создайте новую папку и поместите туда файлы, которые хотите переименовать:

Список файлов в папке

  1. Создайте файл batch-rename.py.
  2. В начале файла импортируйте модуль os. Это позволит работать с файловой системой:
import os
  1. Определите директорию, где находятся файлы:
dir_path = "C:\\Users\\Sharl\\Desktop\\files"

Можно также использовать относительный путь. Например, если скрипт и папка с файлами находятся в одной директории:

dir_path = "files"
  1. Инициализируйте счётчик, который будет добавляться к имени файла:
counter = 1
  1. Добавьте цикл for для перебора файлов в директории:
for filename in os.listdir(dir_path):  
  print("Renaming: " + filename + "...")
  1. Для проверки запустите скрипт из командной строки. Перейдите в папку со скриптом и выполните:
cd Desktop  
python batch-rename.py

Сообщения с именами файлов

Как переименовать все файлы по шаблону

Вариант, где пользователь вводит шаблон, например “Financial_Planning”. Скрипт переименует все файлы в указанной папке по шаблону и добавит порядковый номер.

  1. В начале файла импортируйте модуль sys, чтобы принимать аргументы командной строки:
import sys

При запуске можно передать шаблон так:

python batch-rename.py "Financial_Planning"
  1. Получите переданный аргумент. Если аргумент не указан — покажите сообщение и завершите работу:
commandLineArgs = sys.argv  
  
if len(commandLineArgs) > 1:  
  pattern = commandLineArgs[1] + "_{}"  
else:  
  print('Enter a pattern for the new filenames as a command line argument')  
  sys.exit()
  1. Внутри цикла получайте расширение файла:
file_ext = os.path.splitext(filename)[1] 
  1. Создавайте новое имя файла по шаблону, добавляя счётчик и расширение:
new_filename = pattern.format(counter) + file_ext
  1. Переименуйте файл:
oldFileName = os.path.join(dir_path, filename)  
newFileName = os.path.join(dir_path, new_filename)  
os.rename(oldFileName, newFileName)
  1. Увеличьте счётчик:
counter += 1
  1. После цикла выведете подтверждение:
print("All files renamed.")
  1. На командной строке перейдите в папку со скриптом и запустите его с нужным шаблоном:

CMD с именами файлов и сообщением подтверждения

  1. Откройте Проводник и убедитесь, что файлы переименованы:

Список переименованных файлов в папке

Расширения и надёжность

Короткие рекомендации по улучшению скрипта:

  • Фильтруйте только файлы (игнорируйте подпапки) с помощью os.path.isfile.
  • Обрабатывайте конфликты имён: проверяйте, существует ли целевой файл, прежде чем вызывать os.rename.
  • Поддерживайте кодировку имен (особенно в разных ОС) — используйте pathlib для более удобной кроссплатформенности.

Пример более надёжного фрагмента на pathlib:

from pathlib import Path

p = Path(dir_path)
for f in p.iterdir():
    if f.is_file():
        ext = f.suffix
        new_name = pattern.format(counter) + ext
        target = p / new_name
        if target.exists():
            print(f"Пропуск: {target} уже существует")
        else:
            f.rename(target)
            counter += 1

Когда этот метод не годится

  • Если нужно сохранить метаданные (даты, EXIF для фото) в виде части имени — требуется дополнительная логика извлечения метаданных.
  • Если требуется сложное переименование по нескольким правилам (дата + автор + индекс) — лучше подготовить шаблон или использовать специализированные утилиты.
  • При наличии символов, недопустимых в имени файла целевой ОС, потребуется экранирование или замена символов.

Альтернативные подходы

  • Встроенные средства: Проводник Windows поддерживает простое переименование (выделите несколько файлов, F2 и введите имя — Windows добавит (1), (2) и т. д.).
  • PowerShell: более гибкий подход с командлетами для массовых операций (Get-ChildItem, Rename-Item).
  • Сторонние утилиты: Bulk Rename Utility, Advanced Renamer — дают GUI с множеством шаблонов.
  • macOS Automator или Finder для пользователей macOS.

Практические правила и эвристики

  • Всегда работайте с копией или создавайте резервную копию папки до массовых изменений.
  • Начинайте с вывода (print) без фактического переименования — так вы увидите планируемые изменения.
  • Используйте последовательные и читаемые шаблоны (например, ProjectName_YYYYMMDD_001).
  • Сохраняйте расширения неизменными, чтобы не потерять ассоциацию с программами.

Краткая методология (мини-SOP)

  1. Сделать резервную копию папки.
  2. Запустить скрипт в режиме «сухого прогона» (только print).
  3. Проверить результаты и исправить шаблон при необходимости.
  4. Запустить фактическое переименование.
  5. Убедиться, что всё корректно и нет конфликтов имён.

Критерии приёмки

  • Все файлы в целевой папке получили новые имена по заданному шаблону.
  • Расширения файлов остались прежними.
  • Нет коллизий имён — либо они обработаны, либо явно отмечены в логе.
  • Сохранены важные метаданные (если это требование проекта).

Быстрая проверка и тесты

Тест-кейсы для проверки скрипта:

  • Папка с 0 файлов — скрипт завершает работу без ошибок.
  • Файлы с одинаковыми расширениями — все переименованы корректно.
  • Наличие подпапок — скрипт не пытается переименовать папки (если это не предусмотрено).
  • Файл с именем-целью уже существует — скрипт должен пропустить или переименовать с альтернативой.

Контроль рисков и смягчение

  • Риск: потеря данных из-за неверного шаблона. Смягчение: резервная копия и режим предварительного просмотра.
  • Риск: неправильная кодировка имён. Смягчение: использовать pathlib и тестировать на выборке файлов.

Кому полезно

  • Аналитикам и менеджерам, которым нужно упорядочить отчёты.
  • Фотографам для переименования съёмок по проектам и датам.
  • Разработчикам и системным администраторам при подготовке наборов файлов.

Итог

Пакетное переименование через Python даёт гибкость и повторяемость. Начните с простого скрипта, протестируйте на копии папки и добавьте проверки на существование файлов и обработку ошибок. Для сложных задач сочетайте Python с утилитами и инструментами вашей ОС.

Дополнительные ресурсы и идеи:

  • Обновите скрипт для поддержки регулярных выражений в шаблонах.
  • Добавьте логирование изменений в отдельный файл CSV для аудита.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство