日期:2014-05-17  浏览次数:20691 次

改进一下这个程序
@echo off
setlocal enabledelayedexpansion
set repeatNum=2
set repeatCount=0
set adslUser=057188825632
set adslPass=123456
set adslName=宽带连接
set total=121

:loop
set val=1
for /f "delims=" %%i in (c:\url.txt) do (
  echo.
  ping 127.1 -n 3 >nul 2>&1
  set /a var+=1
  echo 计数%total%次暂停3分钟并关闭TheWorld.exe,当前计数!var!
  echo.
  if !var! geq %total% (
  ping 127.1 -n 30 >nul 2>&1
  set var=0
  taskkill /im TheWorld.exe /f >nul
  ) else (
  echo %%i
  echo.
  start %%i
  )
)
set /a repeatCount+=1
if !repeatCount! lss %repeatNum% (
  rasdial "%adslName%" /disconnect
  rem 请根据自己的网络情况自行调节延时的长短以确保能够能够获得新的IP
  ping -n 10 127.1 >nul
  rasdial "%adslName%" %adslUser% %adslPass%
  goto :loop
)
pause>nul












希望改进的效果是:我循环二次c盘目录下的url文件,然后执行d盘目录下的url文件,循环二次后再返回执行c盘目录下的url文件,这样一直循环。
问题有点仓促,也不知道能不能做到的,在此先谢过了

------解决方案--------------------
test.bat

BatchFile code
@echo off
setlocal enabledelayedexpansion
set adslUser=057188825632
set adslPass=123456
set adslName=宽带连接
set total=121

set loopC=0
set loopD=0
set repeatNum=2
set var=0

:loopC
for /f "delims=" %%i in (C:\url.txt) do (
    echo.
    ping 127.1 -n 3 >nul 2>&1
    set /a var+=1
    echo 计数%total%次暂停3分钟并关闭TheWorld.exe,当前计数!var!
    echo.
    if !var! geq %total% (
        ping 127.1 -n 30 >nul 2>&1
        set var=0
        taskkill /im TheWorld.exe /f >nul
    ) else (
        echo %%i
        echo.
        start %%i
    )
)
set /a loopC+=1
if !loopC! lss %repeatNum% (
    rasdial "%adslName%" /disconnect
    rem 请根据自己的网络情况自行调节延时的长短以确保能够能够获得新的IP
    ping -n 10 127.1 >nul
    rasdial "%adslName%" %adslUser% %adslPass%
    goto :loopC
) else (
    goto :loopD
)

:loopD
for /f "delims=" %%i in (D:\url.txt) do (
    echo.
    ping 127.1 -n 3 >nul 2>&1
    set /a var+=1
    echo 计数%total%次暂停3分钟并关闭TheWorld.exe,当前计数!var!
    echo.
    if !var! geq %total% (
        ping 127.1 -n 30 >nul 2>&1
        set var=0
        taskkill /im TheWorld.exe /f >nul
    ) else (
        echo %%i
        echo.
        start %%i
    )
)
set /a loopD+=1
if !loopD! lss %repeatNum% (
    rasdial "%adslName%" /disconnect
    rem 请根据自己的网络情况自行调节延时的长短以确保能够能够获得新的IP
    ping -n 10 127.1 >nul
    rasdial "%adslName%" %adslUser% %adslPass%
    goto :loopD
) else (
    goto :loopC
)
pause>nul