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

REM Отримуємо шлях до папки, де знаходиться BAT
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 ✅ Готово! Усі файли з -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