Задать вопрос
  • Как переименовать файлы с помощью bat-файла?

    ae_ph
    @ae_ph
    I'm a owl )
    Вот моё решение это не ответ на вопрос, но я хочу оставить это сдесь, для похожих запросов.
    Этот .bat файл переименует .Jpg файлы из папки Result вот в такие файлы file-000.jpg, file-001.jpg, file-002.jpg
    Папка Result находится рядом с bat файлом.
    Изначально в папке Result имена у .Jpg файлов могут быть абсолютно разными.. Не имеет значения.
    setlocal enabledelayedexpansion
    cd /d Result
    set "count=1000"
    set a="*.jpg"
    for /f "usebackq delims=*" %%f in (`dir /b /o:-d %a%`) do (ren "%%f" file-!count:~1!.jpg
    set /a count+=1
    )
    pause


    SetLocal EnableDelayedExpansion Раскрытие переменных через знаки (!)
    cd /d Result заходим в папку Result
    set "count=1000" переменная в которой я обозначил количество нулей file-001.jpg
    set "count=1000" Отсчёт начинается с file-000.jpg затем file-001.jpg и т.д.
    set "count=1001" Отсчёт начинается с file-001.jpg затем file-002.jpg и т.д.

    set a="*.jpg" переменная обозначает какие файлы ищем.

    (`dir /b /o:-d /tc %a%`)
    dir - Позволяет отобразить список файлов и подкаталогов. Далее сортируем.
    /b - Вывод только имен файлов.
    /o:-d - Сортировка списка отображаемых файлов в обратном порядке ( от новых к старым ).
    /o:d - Сортировка списка отображаемых файлов ( от старых к новым ).
    Если вам нужно изменить порядок сортировки файлов.

    %a% - Вызываем переменную

    usebackq Задает возможность использования кавычек для имен файлов Такие вот> ".
    Задает исполнение строки, заключенной в обратные кавычки, как команды Такие вот> `,
    а строки в одиночных кавычках — как команды в символьной строке Такие вот> '.

    delims=xxx Задает набор разделителей. Заменяет набор разделителей по умолчанию, состоящий из пробела и символа табуляции.
    Ответ написан
    2 комментария