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

时间:2017-05-29 12:12:34

标签: windows batch-file cmd

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

1.bat(将一些rar文件展开到目录上)

@echo OFF
setlocal enabledelayedexpansion
@set UNRAR="C:\Program Files\Winrar\unrar.exe"
For /R "E:\Test" %%G IN (*.rar) do (
    %UNRAR% x %%G E:\Test
    @set PDIR=%%G
    @set PDIR1=!PDIR:.rar=!
    XCOPY /D /E /S /Y !PDIR1! E:\Test\Files
    RMDIR /S /Q !PDIR1!
)
pause

2.bat

call 1.bat
pause

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      ******

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

0 个答案:

没有答案