Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


subuday77, вот простой и почти универсальный вариант:

Код: Выделить весь код
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET Folder=E:\Work
SET n=0
FOR /F "tokens=2 delims=." %%I IN ('DIR "%Folder%" /B /O:E') DO IF NOT "%%I"=="!Extension!" SET Extension=%%I&&SET /A n=!n!+1&&SET Extension_!n!=%%I
SET Max_Name=0
FOR %%I IN ("%Folder%\*") DO IF %%~nI GEQ !Max_Name! SET Max_Name=%%~nI
SET Min_Name=!Max_Name!
FOR %%I IN ("%Folder%\*") DO IF %%~nI LEQ !Min_Name! SET Min_Name=%%~nI
FOR /L %%I IN (!Min_Name!,1,!Max_Name!) DO FOR /F "tokens=2 delims==" %%J IN ('SET Extension_') DO IF NOT EXIST "%Folder%\%%I.%%J" ECHO %%I.%%J
PAUSE>nul
В качестве рабочей переменной задаётся только каталог. Число расширений и длина имени файла не лимитированы. Необходимо только, чтобы в имени файла были только цифры без нулей в начале.

Последний раз редактировалось Georgio, 17-05-2013 в 15:46. Причина: добавление комментария

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:11, 17-05-2013 | #7