有什么方法可以让这段代码更小/更快?...这样可以安全运行吗?

时间:2014-03-14 01:16:09

标签: batch-file

这几乎是制作大约3.08亿个文件夹的代码。

for %%a in (A, B, C, D, E, F, G, H, I, J, K , L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) do (
md %%a
PUSHD %%a
for %%b in (A, B, C, D, E, F, G, H, I, J, K , L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) do (
    md %%b
    PUSHD %%b
    for %%c in (A, B, C, D, E, F, G, H, I, J, K , L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) do (
        md %%c
        PUSHD %%c
        for %%d in (A, B, C, D, E, F, G, H, I, J, K , L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) do (
            md %%d
            PUSHD %%d
            for %%e in (A, B, C, D, E, F, G, H, I, J, K , L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) do (
                md %%e
                PUSHD %%e
                for %%f in (A, B, C, D, E, F, G, H, I, J, K , L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) do (
                    md %%f
                )
                POPD
            )
            POPD
        )
        POPD
    )
    POPD
)
POPD
)

但无论如何,我想知道是否有更简单的方法来做这个/更快的处理。任何人都有任何线索?

另外......这样安全吗?

1 个答案:

答案 0 :(得分:0)

我真的不想创建那么多目录,所以我简化了你的例子,只做了几个,它运行得很好。我从子文件夹中运行它,这就是为什么下面的树看起来像它的方式。

@echo off
for %%a in (A, B, C) do (
  for %%b in (A, B, C) do (
    for %%c in (A, B, C) do (
       md %%a\%%b\%%c
    )
  )
)

您不需要pushdpopd命令。您也不需要在for循环的每个级别创建文件夹。您只需要在最内层循环中使用单个md %%a\%%b\%%c\%%d\%%e\%%f命令创建它们。

这里是tree

C:.
├───A
│   ├───A
│   │   ├───A
│   │   ├───B
│   │   └───C
│   ├───B
│   │   ├───A
│   │   ├───B
│   │   └───C
│   └───C
│       ├───A
│       ├───B
│       └───C
├───B
│   ├───A
│   │   ├───A
│   │   ├───B
│   │   └───C
│   ├───B
│   │   ├───A
│   │   ├───B
│   │   └───C
│   └───C
│       ├───A
│       ├───B
│       └───C
└───C
    ├───A
    │   ├───A
    │   ├───B
    │   └───C
    ├───B
    │   ├───A
    │   ├───B
    │   └───C
    └───C
        ├───A
        ├───B
        └───C