Вы сможете выполнить это с помощью команды l
(список) .
Вот простая команда Windows:
for %a in (*.rar) do @ECHO %a & "C:\Program Files\7-Zip\7z.exe" l %a | FIND "Index" & ECHO.
Вотверсия пакетного файла (%%
вместо %
):
@ECHO off
for %%a in (*.rar) do ECHO %%a & "C:\Program Files\7-Zip\7z.exe" l %%a | FIND "Index" & ECHO.
Это отобразит имя файла и поле "Volume Index" из вывода команды l
(list) для этогофайл, как в примере ниже:
myFile.part1.rar
Volume Index = 0
myFile.part2.rar
Volume Index = 1
myFile.part3.rar
Volume Index = 2
Чтобы переименовать все файлы по порядку, вы можете использовать следующий пакетный файл.
Предупреждение Это повлияет на все файлы в каталоге, в котором он запущен, и исходные имена файлов будут потеряны.
@ECHO off
SET PATH=%PATH%;C:\Program Files\7-Zip\
for %%a in (*) do CALL:Index "%%~a"
GOTO:EOF
:Index
ECHO %~1
SETLOCAL EnableDelayedExpansion
for /f "tokens=3 delims== " %%a in ('7z.exe l "%~1" ^| FIND "Index"') do CALL:Rename "%~1" %%a
ENDLOCAL
GOTO:EOF
:Rename
SET /A Index=%2+1
REN "%~1" file%Index%.rar