У меня есть пакетный файл, который распаковывает архивы из каталога и переименовывает извлеченные файлы. Содержимое моего пакетного файла являются:Пакетный файл для распаковки и переименования файлов
for /F %%I IN ('dir /b /s *.zip *.rar') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I" -aoa
)
DEL *.zip
@echo off
set i=1
for %%f in (*.xml) do call :renameit "%%f"
goto done
:renameit
ren %1 FileName%i%_Msd.xml
set /A i+=1
:done
Я ожидаю, что файлы будут переименованы в
FileName1.xml
FileName2.xml
FileName3.xml
...
Однако, переименованные имена файлов, кажется, начинается с 2 вместо 1. Если я повторена командный файл после того, как он изначально был извлечен и некорректно переименован, начиная с 2, он исправляет эту ошибку имен и начинается с одной.
Как исправить это, так как правильно переименованные файлы начинаются с 1?
попробуйте использовать набор я = 0 вместо г = 1 –
Предполагая, что вы не отключили ECHO OFF в верхней части вашего сценария, смотрите программу выполнить. В частности, смотрите команду rename. Если вы должны поместить ПАУЗА после команды переименования. – Squashman
@Byakko_Haku Вы предложили работу, и переименованные файлы начинаются с 1 сейчас. Спасибо за вашу помощь! – Klicker