bat文件嵌套for循环问题

2025-02-22 22:48:14
推荐回答(3个)
回答1:

/r在2次嵌套的时候(/r作为子循环时),经常会出问题,有时出错、有时会对一个值递归2次(至今不明白是为什么),所以如果是嵌套,最好用/f参数代替/r参数。

例如:
@echo off
for /d %%i in (*) do (
echo D:\dx\%%i
for /f "delims=" %%b in ('dir /s /b "D:\dx\%%i\*.*"') do echo %%b
)

pause

回答2:

参考代码如下:
#include

int main()
{
int i =1,j=1;
for(i=1;i<10;i++)
{
for(j=1;j {
printf("%d*%d=%d\t",j,i,i*j);
}
//一般来说,从外循环for赋值一次,到内循环for循环一遍。只是你这个比较特殊,内循环一次而已。
printf("\n");
}
return 0;
}

回答3:

其实可以实现你想要的结果,就是在for /d里调用子程序具体如下

for /d %%i in (*) do (
    call :sub %%i
)
:sub 
    for /r %1 %%b in (*.*) do echo %%b
goto :eof