Batch file 批处理文件增量文件夹编号

Batch file 批处理文件增量文件夹编号,batch-file,Batch File,我正在尝试创建一个批处理文件,用于创建文件夹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]*

我正在尝试创建一个批处理文件,用于创建文件夹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%"

但这不起作用,因为它只创建第一个文件夹,而不创建后面的文件夹。有人能帮我确定这个问题吗?谢谢

这将创建文件夹,不管它们是否存在

@echo off
for /L %%a in (1,1,255) do MD "1.2.0.%%a" 2>nul
这将仅创建系列中的下一个文件夹:

@echo off
cd C:\Users\Build
for /L %%a in (1,1,20000000) do if not exist "1.2.0.%%a\" MD "1.2.0.%%a" & goto :done
:done
这是您现在可以工作的代码,它的工作原理与上面的代码完全相同。200万个文件夹似乎是一个公平的数字,即使需要几秒钟的时间


这将创建文件夹(如果存在或不存在)

@echo off
for /L %%a in (1,1,255) do MD "1.2.0.%%a" 2>nul
这将仅创建系列中的下一个文件夹:

@echo off
cd C:\Users\Build
for /L %%a in (1,1,20000000) do if not exist "1.2.0.%%a\" MD "1.2.0.%%a" & goto :done
:done
这是您现在可以工作的代码,它的工作原理与上面的代码完全相同。200万个文件夹似乎是一个公平的数字,即使需要几秒钟的时间


缺少
未正确处理:

...
'2^>nul dir /b /ad "%version%.*"^|findstr /xri "%version%.[0-9]*"'
...
set "name=!name:*%version%.=!"
...
set /a nextFolder=!lastFolder!+1
...

缺少
未正确处理:

...
'2^>nul dir /b /ad "%version%.*"^|findstr /xri "%version%.[0-9]*"'
...
set "name=!name:*%version%.=!"
...
set /a nextFolder=!lastFolder!+1
...

谢谢,但如果可能的话,我想坚持我原来的解决方案。你能告诉我实现中的错误在哪里吗?简单的解决方案不是比复杂的解决方案好吗?如果你没有正确地描述你的任务,那么开始另一个问题。谢谢,但如果可能的话,我想坚持我原来的解决方案。你能告诉我实现中的错误在哪里吗?简单的解决方案不是比复杂的解决方案好吗?如果你没有正确地描述你的任务,那么开始另一个问题。当调用md时,在两个变量“version”和“nextFolder”之间加上一个句点,如果我删除了这个句点,它工作正常,但不是我想要的格式。有什么解释吗?当调用md时,在两个变量“version”和“nextFolder”之间加上句点,如果我删除了句点,它工作正常,但不是我想要的格式。有什么解释吗?