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

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

• 4 min read • Программирование • Обновлено 06 Dec 2025
Пакетное переименование файлов — Python
Пакетное переименование файлов — Python

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

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

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

В этой статье вы найдёте:

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

Зачем использовать пакетное переименование

Преимущества:

  • единообразие имён для архивации и поиска;
  • удобство для массовой обработки и скриптинга;
  • подготовка файлов для загрузки в системы, где важен формат имён.

Краткое определение: Пакетное переименование — автоматическое изменение имён множества файлов по заданному правилу.

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

Есть множество способов переименовать файлы в Windows: Проводник, командная строка, PowerShell или сторонние утилиты. Python даёт гибкость, переносимость и возможность записать логи.

Основная идея: пройти по файлам каталога (os.listdir или pathlib), пропустить поддиректории, собрать расширение файла, собрать новое имя и вызвать os.rename.

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

Ниже — цельный пример скрипта, аккуратно обрабатывающий ошибки и дающий понятные сообщения. Скопируйте его в файл batch-rename.py.

#!/usr/bin/env python3
import os
import sys

def safe_rename(old, new):
    try:
        os.rename(old, new)
        return True
    except Exception as e:
        print(f"Ошибка при переименовании {old} -> {new}: {e}")
        return False

def main():
    if len(sys.argv) < 3:
        print("Использование: python batch-rename.py <папка> \"Шаблон_имени\"")
        print("Пример: python batch-rename.py files Financial_Planning")
        sys.exit(1)

    dir_path = sys.argv[1]
    pattern_arg = sys.argv[2]
    pattern = pattern_arg + "_{}"
    counter = 1

    if not os.path.isdir(dir_path):
        print("Папка не найдена:", dir_path)
        sys.exit(1)

    for filename in os.listdir(dir_path):
        old_path = os.path.join(dir_path, filename)
        if os.path.isdir(old_path):
            # Пропустить папки
            continue

        file_ext = os.path.splitext(filename)[1]
        new_filename = pattern.format(counter) + file_ext
        new_path = os.path.join(dir_path, new_filename)

        # Если имя уже существует, добавим дополнительный суффикс
        suffix = 1
        candidate = new_path
        while os.path.exists(candidate):
            candidate = os.path.join(dir_path, pattern.format(counter) + f"_{suffix}" + file_ext)
            suffix += 1

        if safe_rename(old_path, candidate):
            print(f"Переименовано: {filename} -> {os.path.basename(candidate)}")
        counter += 1

    print("Все файлы обработаны.")

if __name__ == '__main__':
    main()

Как запустить скрипт

  1. Поместите скрипт и папку с файлами в удобное место.
  2. Откройте терминал или cmd и перейдите в каталог со скриптом.
  3. Выполните команду:
python batch-rename.py путь/к/папке "Financial_Planning"

или с относительным путём, если папка находится рядом со скриптом:

python batch-rename.py files "Financial_Planning"

Вывод в консоли с именами файлов

После выполнения откройте проводник и убедитесь в результатах.

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

Как формируются новые имена

Правило в примере: <шаблон>_<номер><расширение>, например Financial_Planning_1.pdf.

Ментальная модель: шаблон + счётчик + расширение. Всегда сохраняйте расширение файла, чтобы операционная система и программы могли определить тип.

Когда этот подход не подходит

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

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

  • PowerShell (Windows): Get-ChildItem + Rename-Item — встроенный и быстрый способ.
  • Командная строка (bash): mv в цикле или утилиты rename.
  • Графические инструменты: Bulk Rename Utility, Advanced Renamer — удобны для визуальных сценариев.
  • Python pathlib: современная альтернатива os, более понятный API.

Методология перед переименованием (мини-инструкция)

  1. Сделайте резервную копию папки (копия или архив).
  2. Протестируйте скрипт на 5–10 файлах.
  3. Проверьте права доступа и наличие скрытых файлов.
  4. Запустите в тестовом режиме и проверьте результаты.
  5. Выполните основное переименование и сохраните лог.

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

  • Все целевые файлы в папке имеют имена по шаблону.
  • Расширения не потеряны и сопоставимы с исходными типами.
  • Нет перезаписанных файлов без явного суффикса разрешения конфликта.
  • Скрипт не изменил содержимое файла.

Чек-лист перед запуском (роль: системный администратор / пользователь)

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

Риски и меры по снижению

  • Риск: потеря исходных имён. Мера: сделать резервную копию перед запуском.
  • Риск: перезапись файлов. Мера: в скрипте предусмотрена проверка существующих имён и добавление суффикса.
  • Риск: нарушение конфиденциальности. Мера: не выполнять скрипт в папках с чувствительными данными без анализа.

Тестовые случаи и приёмка

  • Тест 1: папка с 10 файлами разных расширений — все переименованы и расширения сохранены.
  • Тест 2: в папке есть поддиректория — она игнорируется.
  • Тест 3: одинаковые имена исходно — скрипт не перезаписывает без суффикса.

Примеры, когда полезно

  • Подготовка отчетов к отправке: Financial_Planning_1, Financial_Planning_2…
  • Переименование фотографий для загрузки в CMS.
  • Упорядочивание логов по шаблону для автоматической обработки.

Соображения по безопасности и приватности

Не выполняйте пакетное переименование в корневых или системных папках. Перед массовыми операциями проверьте, что в папке нет файлов с чувствительной информацией, и соблюдайте внутренние правила хранения данных и GDPR, если применимо.

Итог

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

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро