我正在尝试创建一个批处理文件来创建文件夹 1.2.0.1、1.2.0.2、1.2.0.3 等。我从上一个问题中弄脏了这段代码,它几乎可以满足我的需要:
@echo off
setlocal enableDelayedExpansion
set "baseName=New_Folder"
set "n=0"
for /f "delims=" %%F in (
'2^>nul dir /b /ad "%baseName%*."^|findstr /xri "%baseName%[0-9]*"'
) do (
set "name=%%F"
set "name=!name:*%baseName%=!"
if !name! gtr !n! set "n=!name!"
)
set /a n+=1
md "%baseName%%n%"
所以我尝试的方法是有两个变量,一个保存前三位数字 2.4.0,另一个保存第四个。
set version=1.2.0
cd C:\Users\Build
set "lastFolder=0"
for /f "delims=" %%F in (
'2^>nul dir /b /ad "%version%*."^|findstr /xri "%version%[0-9]*"'
) do (
set "name=%%F"
set "name=!name:*%version%=!"
if !name! gtr !lastFolder! set "lastFolder=!name!"
)
set /a nextFolder=lastFolder+1
md "%version%.%nextFolder%"
但这不起作用,因为它只创建第一个文件夹而不是后面的文件夹。谁能帮我确定问题?谢谢