batch-file - 批处理如何正确结束 for 循环

标签 batch-file for-loop cmd

出于测试目的,我需要一个包含一些文件的递归目录,达到最大路径长度。

用于创建的Script仅由两个for循环组成,如下:

for /L %%a in (1 1 255) do @(
    mkdir %%a
    && cd %%a
    && for /L %%b in (1 1 %random%) do @(
            echo %%b >> %%a.txt
        )
)

现在我想将此脚本作为另一个脚本的一部分嵌入,因为还有更多工作要做,但我无法在它周围添加任何其他命令或它拒绝工作。如果这对您有用,我在 windows vista 下使用它。

如果我写 "@ECHO OFF 也不行"在第一行,都没有 "echo done "在最后一行。

命令行上的输出是:
X:\Scripte>recursive.cmd
OFFfor /L %a in (1 1 255) do @( mkdir %a
The system cannot find the path specified.

编辑:
似乎是第 8 层的问题,问题似乎出在所使用的命令 shell 中,如果使用裸 cmd.exe,它可以工作,使用 Visual Studio 2008 命令 shell 它不起作用,如上所述。

无论如何,谢谢。

最佳答案

我不明白如何在答案下面添加一点评论,所以我就在这里做。

仅当 echo 尚未关闭时,才需要开括号前面的 @ 符号。在这种情况下,没有@ 符号会发生什么,FOR 循环中的每个命令都会被回显。

而且,是的,需要 && 的原因是文本编辑器将其全部放在一行中。但是没有人发布解决方案。只需复制并粘贴到记事本中,然后根据需要将行分开。

关于batch-file - 批处理如何正确结束 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/359120/

相关文章:

c++ - 从 .exe 输出到 cmd

windows - CMD/Batch/Registry - 字符串替换没有按预期工作?

python - 最终用户无需安装即可在网络驱动器上运行 Python 脚本的最简单方法?

batch-file - 如何将值从一个批处理文件返回到调用者批处理文件

python - selenium.common.exceptions.InvalidArgumentException : Message: invalid argument error invoking get() with urls read from text file with Selenium Python

c++ - for循环一直循环

python - 如何在 Windows 命令提示符下运行 python 文件?

Java 在代码块之间跳转

batch-file - 如何使用 xcopy 从文本文件复制文件和文件夹结构?

python - For 循环遍历列表中的前 2 个项目,然后在第三个项目上出现 Tracback 错误