本帖最后由 aipca 于 2015-2-7 19:35 编辑
我有个文本1.txt
内容如下:复制代码 我用批处理每次选9行执行 然后十分钟以后 在调用下一个9行 以此类推 至到文本结束。
我现在用的方法是 用批处理将这文本里面的内容 提取出来 生存N个临时的BAT文件 然后每隔十分钟轮着按序CALL这些临时批处理文件,这样造成批处理文件太冗长 有没有办法 用一些简单的语句让批处理 自动去循环执行呢?- @echo off & setlocal enabledelayedexpansion
-
- for /f "tokens=1,* delims==" %%a in ('find "lin="^<config.ini') do (set kk=%%b)
-
-
- set filenames=0
- set filename=1
- set numbers=0
- md %cd%\temp >nul 2>&1
- for /f "delims=" %%a in (%CD%\1.txt) do (
- set /a numbers+=1
- set /a filenames+=1
- echo %%a>>temp\!filename!.bat
- if !numbers! geq %kk% (
- set /a filename+=1
- set numbers=0
- )
- )
-
- SET wait=ping -n 2 127.0.0.1 ^>^nul
- for /l %%n in (3,-1,0) do (
- rem cls
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo **************************************
- echo.
- echo %%n 秒开始执行第1组...
- echo.
- echo **************************************
- %wait%
- cls
- )
- if exist temp\1.bat (call temp\1.bat) else (goto other)
-
- SET wait=ping -n 2 127.0.0.1 ^>^nul
- for /l %%n in (600,-1,0) do (
- rem cls
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo **************************************
- echo.
- echo %%n 秒开始执行第2组...
- echo.
- echo **************************************
- %wait%
- cls
- )
-
- if exist temp\2.bat (call temp\2.bat) else (goto other)
-
-
- :other
- cls
- echo.
- echo.
- echo.
- echo.
- echo.
- echo **************************************
- echo.
- echo 执行已全部完成
- echo.
- echo 请按任意键退出
- echo.
- echo **************************************
- del temp\*.bat
- pause >nul
- exit
复制代码 config.ini 是我配置的文件 设置了一次执行几条的变量数。如果按这种方式 假设我有99条的话 就要写11条的命令 如果更多的话 就要写更多的。
觉得这种办法太笨了 是不是有更方便的方法 来解决这个问题的? |