为什么我的.bat总是在长时间的命令之后丢失它的变量



这是我在逆境中受苦的蝙蝠。让我们把它命名为b.bat

set loopnum=%1
set url=%2
del "%TEMP%selectortemp.txt"
del "%TEMP%selectortemp2.txt"
for /r %loopnum% %%i in (*.*) do echo %%~ni%%~xi>>"%TEMP%selectortemp.txt"
echo %loopnum%
pause
set count=0
for /f "usebackq delims=" %%a in (%TEMP%selectortemp.txt) do set /a count+=1
set /a count2=1
:looping
for /f "tokens=1,2 delims==" %%a in (%config%) do (if %%a==url set url=%%b)
set /p firstline=<"%TEMP%selectortemp.txt"
del "%url%%firstline%"
echo "%firstline%"
pause
for /f "skip=1 tokens=*" %%A in (%TEMP%selectortemp.txt) do echo %%A>>"%TEMP%selectortemp2.txt"
del "%TEMP%selectortemp.txt"
rename "%TEMP%selectortemp2.txt" "selectortemp.txt"
if %count2%==%count% goto endlooping
set /a count2+=1
goto looping
:endlooping

起初,我这样称呼它:

for /l %%i in (0,1,3) do (call b.bat %%i C:testing)

您的问题不是很具体。我认为你的意思是你的变量在for循环中失去了内容。

你需要写作!一而不是%a%。但是不能使用for循环中使用的变量来执行此操作!!a是不可能的。

请确保启用延迟扩展。

以下是有关enabledelayedexpansion:SS64 的一些信息

最新更新