【发布时间】:2010-09-26 10:12:00
【问题描述】:
出于测试目的,我需要一个包含一些文件的递归目录,该目录达到最大路径长度。
用于创建的脚本只包含两个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 层的问题,问题似乎出在使用的命令外壳上,如果使用裸 cmd.exe,它可以工作,使用 Visual Studio 2008 命令外壳它不起作用,如上所述。
无论如何,谢谢。
【问题讨论】:
-
您是从另一个脚本调用此脚本,还是将此代码复制/粘贴到另一个脚本中?您能否提供更多详细信息。
-
从您提供的输出来看,您的文本编辑器中的换行符(在“@echo off”和“for /L...”之间)看起来不正确。你用什么来编辑批处理文件?
-
我使用notepad++编辑文件。看起来很奇怪,c&p 到另一个文件有效,但只有一次,然后,使用新的 cmd shell 再次失败。
标签: batch-file for-loop cmd