BAT для переименования файлов

BAT-скрипт для переименования файлов

При работе с большим количеством документов или изображений часто возникает необходимость массово изменить имена файлов — например, удалить лишнюю часть названия, добавленную после обработки или сжатия. Делать это вручную долго и неудобно, особенно когда таких файлов десятки или сотни. Гораздо эффективнее воспользоваться простым BAT-скриптом, который автоматизирует процесс переименования. Благодаря нескольким строкам кода можно быстро удалить нежелательные суффиксы из названий, например «-compressed» или «-min», и оставить чистые, понятные имена файлов.

Ниже приведены три варианта BAT-скриптов для переименования файлов после их обработки сервисом iLovePDF и OptimiZilla (imagecompressor):

  1. Переименование файлов в текущей папке
  2. Переименование файлов в указанной папке
  3. Переименование файлов в соседней папке

Каждый пример сопровождается объяснением. Надеюсь, мой код вам пригодится.

Когда может понадобиться переименование файлов с помощью BAT

Сервисы iLovePDF и OptimiZilla, после сжатия файлов пакетной обработкой, добавляют к их имени суффикс «-compressed» и «-min». Это делается для того, чтобы пользователь не потерял оригинальные файлы и не перепутал их со сжатыми. Но бывают моменты, когда нужно, чтобы сжатые файлы имели такое же имя, как и оригинальные. И тогда возникает необходимость в автоматизации процесса. Ведь одно дело переименовать вручную один-два файла, а другое дело — переименовать 100-200 файлов.

В таких случаях на помощь пользователям Windows приходит Batch Script.

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

Переименование файлов в текущей папке

Этот BAT-скрипт автоматически переименовывает все PDF-файлы в папке, где находится сам файл BAT, удаляя из названий суффикс -compressed.

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

set "folder=%~dp0"

echo Текущая папка:
echo %folder%
echo.
set /p confirm=Хотите ли вы переименовать файлы по этому пути? (Yes/No): 

if /i "%confirm%"=="Yes" (
    echo.
    echo 🔄 Выполняется переименование...
    echo.
    cd /d "%folder%"
    for %%f in (*-compressed.pdf) do (
        set "oldname=%%f"
        set "newname=!oldname:-compressed=!"
        ren "%%f" "!newname!"
        echo Переименовано: %%f → !newname!
    )
    echo.
    echo ✅ Готово! Все файлы c -compressed переименовано.
) else (
    echo ❌ Операция отменена.
)

pause

Переименование файлов в указанной папке

Этот BAT-скрипт позволяет автоматически переименовать все PDF-файлы в указанной папке, удаляя из их названий суффикс -compressed.

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

REM Указываем путь к нужной папке
set "folder=C:\Users\Имя_ПК\Документы\iLovePDF_Output\ilovepdf-compress"

echo Выбрано папку:
echo %folder%
echo.
set /p confirm=Хотите ли вы переименовать файлы в этой папке?? (Yes/No): 

if /i "%confirm%"=="Yes" (
    echo.
    echo 🔄 Выполняется переименование...
    echo.
    cd /d "%folder%"
    for %%f in (*-compressed.pdf) do (
        set "oldname=%%f"
        set "newname=!oldname:-compressed=!"
        ren "%%f" "!newname!"
        echo Переименовано: %%f → !newname!
    )
    echo.
    echo ✅ Готово! Все файлы с -compressed переименованы.
) else (
    echo ❌ Операция отменена.
)

pause

Переименование файлов в соседней папке

Этот BAT-скрипт автоматически переименовывает изображения JPG, удаляя из имен файлов суффикс -min, при условии, что папка imagecompressor находится в том же каталоге, что и BAT-файл.

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

REM --- Получаем путь к папке imagecompressor относительно расположения BAT ---
set "folder=%~dp0imagecompressor"

if not exist "%folder%" (
    echo ❌ Папку "imagecompressor" не найдено по пути:
    echo %folder%
    pause
    exit /b
)

echo Текущая папка:
echo %folder%
echo.
set /p confirm=Хотите ли вы переименовать файлы по этому пути? (Yes/No): 

if /i "%confirm%"=="Yes" (
    echo.
    echo 🔄 Выполняется переименование...
    echo.
    cd /d "%folder%"

    REM --- Обрабатываем файлы с расширением .JPG и .jpg ---
    for %%f in (*-min.JPG *-min.jpg) do (
        if exist "%%f" (
            set "oldname=%%f"
            set "newname=!oldname:-min=!"
            ren "%%f" "!newname!"
            echo Переименовано: %%f → !newname!
        )
    )

    echo.
    echo ✅ Готово! Все файлы с -min переименованы.
) else (
    echo ❌ Операция отменена.
)

pause

При необходимости, используя приведенные выше примеры кода, вы легко сможете написать собственный скрипт для переименования файлов. Например, можно сделать так, чтобы скрипт обрабатывал не только файлы с расширением PDF или JPG, но и с любым другим. Также можно убрать запрос на подтверждение переименования и вывод результата обработки файлов. Это позволит еще больше сэкономить время при работе с большим количеством файлов.

Main Menu