我正在尝试编写一个批处理文件来创建文件夹和子文件夹。
文件夹简单地编号为1000, 1100, 1200, 1300, etc.
每个文件夹中的子文件夹为\1100\1101, 1102, 1103, ... \1200\1201, 1202, 1203, etc.
在这里和其他地方,我都看过许多文章。
大多数示例都引用了预先准备好的文件夹名称列表,但是由于这些文件夹是递增的数字文件夹,因此这似乎并不是实现此目的的最佳方法。
我有以下代码:
for /l %%x in (1000, 100, 70000) do (
mkdir %%x
cd %%x
set /a %%y = (%%x + 99)
for /l %%z in (%%x, 1, %%y) do (
mkdir %%z
)
cd ..
)
上面的代码创建了嵌套文件夹\1000\1100\1200
,然后才使文件长度达到最大值。
变量%%y
似乎没有获得其预期值(%%x + 99
),在第二个for循环中未能创建子文件夹,并且在返回之前未返回父对象到第一个for循环。
我确信可能在将值分配给%%y
的语法中存在一些错误,我们将不胜感激。
答案 0 :(得分:1)
以下是我想达到的目标的一个示例:
@Echo Off
SetLocal EnableDelayedExpansion
For /L %%A In (1000,100,70000)Do For /L %%B In (1,1,99)Do (
Set /A Var = %%A + %%B
MD "%%A\!Var!" 2>NUL)