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

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

Ветеран


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

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


Цитата Viktor99:
_01 »
согласно этому пожеланию, если файлов в папке не более 99
Код: Выделить весь код
@echo off
set "d=C:\osn_papka"
for /f "delims=" %%a in ('dir/ad/b "%d%"') do (
 setlocal enabledelayedexpansion
  pushd "%d%\%%a"
   for /f "delims=" %%b in ('dir/a-d/b') do set/a n+=1& set m=0!n!& echo %d%\%%a_!m:~-2!%%~xb
  popd
 endlocal
)
exit
если не более 999
Код: Выделить весь код
@echo off
set "d=C:\osn_papka"
for /f "delims=" %%a in ('dir/ad/b "%d%"') do (
 setlocal enabledelayedexpansion
  pushd "%d%\%%a"
   for /f "delims=" %%b in ('dir/a-d/b') do set/a n+=1& set m=00!n!& echo %d%\%%a_!m:~-3!%%~xb
  popd
 endlocal
)
exit
далее понятно

если 0 в начале не требуется (_1, _2, ... , _99), чуток проще:
Код: Выделить весь код
@echo off
set "d=C:\osn_papka"
for /f "delims=" %%a in ('dir/ad/b "%d%"') do (
 setlocal enabledelayedexpansion
  pushd "%d%\%%a"
   for /f "delims=" %%b in ('dir/a-d/b') do set/a n+=1& echo %d%\%%a_!n!%%~xb
  popd
 endlocal
)
exit

Отправлено: 23:25, 15-08-2016 | #2