1

这是我遭受逆境的 .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)
4

1 回答 1

0

你的问题不是很具体。我假设您的意思是您的变量在 for 循环中丢失了它们的内容。

你需要写!a!代替%。但是你不能用 for 循环中使用的变量来做到这一点。!!a 是不可能的。

请务必启用延迟扩展。

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

于 2013-04-10T14:45:14.867 回答