Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 批递归超出堆栈限制-从另一个批处理文件调用批处理文件时出错_Windows_Batch File_Cmd - Fatal编程技术网

Windows 批递归超出堆栈限制-从另一个批处理文件调用批处理文件时出错

Windows 批递归超出堆栈限制-从另一个批处理文件调用批处理文件时出错,windows,batch-file,cmd,Windows,Batch File,Cmd,我有两个批处理文件,1.bat和2.bat,我从2.bat调用1.bat,这就是它的功能 1.bat(将一些rar文件放在目录上) 2.bat 1.bat本身运行良好,但当我们尝试在2中调用它时,bat给出了错误 ****** B A T C H R E C U R S I O N exceeds STACK limits ****** Recursion Count=594, Stack Usage=90 percent ****** B A T C H PROCESS

我有两个批处理文件,1.bat和2.bat,我从2.bat调用1.bat,这就是它的功能

1.bat(将一些rar文件放在目录上)

2.bat

1.bat本身运行良好,但当我们尝试在2中调用它时,bat给出了错误

******  B A T C H   R E C U R S I O N  exceeds STACK limits ******
Recursion Count=594, Stack Usage=90 percent
******       B A T C H   PROCESSING IS   A B O R T E D      ******

我该如何解决这个问题?任何想法,谢谢

既然您正在递归下
E:\test
目录,并将文件放在
E:\test\files
下,我想知道目录树递归是否已耗尽。如果您是对的,@lit,那么将
替换为/R“E:\test”%%G in(*.rar)do(
for/F“delims=“%%G in('dir/S/B/A:-D“E:\Test\*.rar”')做什么(
可能会有所帮助,因为在修改/扩展目录之前,目录已被完全枚举…当
调用
堆栈已满时,会出现错误消息。代码不包含重复的
调用
命令,因此我无法说出原因。不过,您应该使用引用的
集清理代码语法,如
通常设置“VAR=Value”
,然后引用每一个使用过的路径,如
%unrr%”
“%%G”
,等等,然后通过
%%dpnG
删除
.rar
扩展(因此不需要
PDIR
PDIR1
变量,因此可以禁用延迟扩展)。您甚至可以通过立即将
.rar
文件提取到目标文件夹而不是移动项目来简化代码…我发现这是我的一个转储错误…实际上是重复调用,因为我已编辑了第二个bat来反复调用自己again@aschipfl谢谢你的语法提示。代码看起来很简单lot cleaner now..我只发布了部分代码,我现在编辑了整个代码'Mofi'。问题是有几个rar's具有不同的名称,任务是将它们解压缩到同一个目录中,只有最新的文件,所以我尝试将内容从每个未归档的目录复制到一个公共目录
call 1.bat
pause
******  B A T C H   R E C U R S I O N  exceeds STACK limits ******
Recursion Count=594, Stack Usage=90 percent
******       B A T C H   PROCESSING IS   A B O R T E D      ******