标题: [文本处理] 如何用批处理运行记事本内命令 并判断已到文末? [打印本页]
作者: aipca 时间: 2015-1-20 14:10 标题: 如何用批处理运行记事本内命令 并判断已到文末?
我需要用批处理A.bat调用1.txt记事本里的内容 并执行记事本里面的命令 1.txt的行数是不固定的,随机的
每九行调用一次 如何判断总共需要调用多少次 并判断已经到了最后一行呢?该如何写?
如果不满九行又该如何?
求大神指点
作者: DAIC 时间: 2015-1-20 14:25
把 1.txt 的真实内容发出来,详细说明一下什么是“每九行调用一次”
作者: aipca 时间: 2015-1-20 14:40
回复 2# DAIC
1.txt也是批处理生存的一些命令,每条命令自成一行,在不同的机子上命令的条数并不相同 所以它有几行记录是随机的 可能是1条 也可能是1000条 甚至更多
每九行调用一次
就是我要用批处理一次性读取其中的九行来运行,简单的说 如果1.txt里面有10行,那么第一次读取了9行运行,这9行运行完了 在运行余下的1行
如果1.txt不够9行呢?
下面这个是我写得比较笨的,而且行数没办法判断 也不知道何时结束- @echo off & setlocal EnableDelayedExpansion
- for /f "delims=" %%i in ('"dir /a/s/b/on *.exe"') do (
- set file=start /d %%~di%%~pi %%~fi -s
- set file=!file:/=/!
- echo !file! >>1.txt
- )
- set "file=1.txt"
- set /a min=0,max=8
- (for /l %%a in (1 1 %min%) do set /p=
- for /l %%a in (%min% 1 %max%) do set /p str=&echo;!str!
-
- )<!file!>temp1.cmd
- call temp1.cmd
- del temp1.cmd
- )
- :star
- SET wait=ping -n 2 127.0.0.1 ^>^nul
- for /l %%n in (10,-1,0) do (
- rem cls
- echo **************************************
- echo.
- echo %%n秒关闭,并进行第二次运行...
- echo.
- echo **************************************
- %wait%
- cls
- )
- set "file=1.txt"
-
- set /a min=9,max=17
-
- (for /l %%a in (1 1 %min%) do set /p=
-
- for /l %%a in (%min% 1 %max%) do set /p str=&echo;!str!
-
- )<!file!>temp1.cmd
- call temp1.cmd
- del temp1.cmd
- pause
复制代码
作者: aipca 时间: 2015-1-20 14:41
回复 2# DAIC
@echo off & setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('"dir /a/s/b/on *.exe"') do (
set file=start /d %%~di%%~pi %%~fi -s
set file=!file:/=/!
echo !file! >>1.txt
这就是1.txt的来源
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |