使用for循环在批处理文件中的每个文件夹中创建文件夹

问题描述 投票:0回答:1

我想获取目录

test
,它有名为
a
b
c
的子目录,每个子目录包含三个子目录,
a
b
c

例如

TEST---├-A
       │ ├A
       │ ├B
       │ └C
       ├-B
       │ ├A
       │ ├B
       │ └C
       └-C
         ├A
         ├B
         └C

这是我的代码:

@echo off
md test 
cd test
for %%F in (A B C) do (
    md %%F
    cd %%F
    for %%E in (A B C) do (
        md %%E
    )
    cd.
)
pause

但是,我明白了:

TEST-A ├-A
       ├-B 
       │ ├-A
       │ ├-B
       │ └-C
       │   ├A
       │   ├B
       │   └C
       └-C

我试过像这样使用回声:

@echo off
md test 
cd test
for %%F in (A B C) do (
    echo md %%F
    echo cd %%F
    for %%E in (A B C) do (
        echo md %%E
    )
    echo cd.
)
pause

结果:

md A
cd A
md A
md B
md C
cd.
md B
cd B
md A
md B
md C
cd.
md C
cd C
md A
md B
md C
cd.

看起来工作正常..

感谢您的帮助。

for-loop batch-file cmd
1个回答
0
投票

只是打错了

cd.
:应该是
cd ..

(不要错过中间的空间。)

如果你只是在学习:

.
代表当前目录
..
代表父目录。
cd ..
= "进入父目录"

这里是更正的脚本:

@echo off
md test 
cd test
for %%F in (A B C) do (
    echo md %%F
    echo cd %%F
    for %%E in (A B C) do (
        echo md %%E
    )
    echo cd ..
)
pause

而不是

pause
你可能想写

cd ..
tree test

立即查看结果

© www.soinside.com 2019 - 2024. All rights reserved.