Я действительно не поддерживаю не по теме вопросы, но это действительно не ракетостроение:
@echo off
setlocal enabledelayedexpansion
set cnt=0
for %%i in (*.txt) do (
set "num=%%~ni"
if !num! GTR !cnt! set cnt=!num!
)
set /a newfile=cnt+1
type nul > %newfile%.txt
Это действительно прямо вперед. Мы устанавливаем счетчик 0 (cnt=0
).
Перебрать все файлы и удалить расширение, используя только имя из токена (%%~ni
), поэтому у нас есть только номер, оставленный до присвоения переменной num=%%~ni
.
Затем мы сопоставляем номер файла со счетчиком, if
номер файла больше, чем счетчик, мы set
номер счетчика с тем же значением, пока мы не зациклились на наибольшем числе, а затем просто принять это значение +1 и создайте файл с помощью type nul > newnumber.txt
См. Множество справок по командам, используемым при простом запуске for /?
, if /?
, set /?
и setlocal /?
из cmd.exe
окна терминала.