天使说请安静 发表于 2024-2-22 18:20
@echo off
For /f %%i in ('mountvol^|findstr /l /i /c:":\\"') do call :Sec %%i
pause
感谢,批处理是自上而下、逐条执行,通过call,使代码分为了两条,就不用延迟变量了 。
按您的方式,我改了一下,可以运行。
@echo off
for %%w in (c,d,e,f,g,h,i,j,k,l,m) do if exist %%w: echo %%w:\>>pan.txt
for /f %%s in (pan.txt) do call :haha %%s
:haha
for /r %1 %%i in (*.zip) do echo %%~i
likeyouli 发表于 2024-2-22 19:56
感谢,批处理是自上而下、逐条执行,通过call,使代码分为了两条,就不用延迟变量了 。
按您的方式,我 ...
你可以试试
@echo off
for %%w in (c,d,e,f,g,h,i,j,k,l,m,z) do (
if exist %%w: ( echo %%w:\>>pan.txt
call :haha %%w:\
)
)
pause
:haha
for /r %1 %%i in (*.zip) do echo %%~i
这一For次数可以减一次
天使说请安静 发表于 2024-2-22 21:17
你可以试试
@echo off
for %%w in (c,d,e,f,g,h,i,j,k,l,m,z) do (
@echo off
for %%w in (c,d,e,f,g,h,i,j,k,l,m) do if exist %%w: (call :haha %%w:\)
:haha
for /r %1 %%i in (*.txt) do echo %%~i
直接这样写也行,感谢您,代码越来越精炼了。