2

我有这个 .bat 文件,我想将其限制为 gmname.txt 中的 200 行。基本上,当为每一行运行这个 .bat 文件时,假设我在 gnmname.txt 中有 300 行,我只想启动 UpMe.bat 200 行。我知道这应该很简单,但感谢任何帮助。

for /f "tokens=1" %%k in (gmname.txt) do start /MIN UpMe.bat %%k
4

4 回答 4

1

如果我了解您想为文本文件的 X 行处理命令?那么这里是代码:

@Echo off
Setlocal enabledelayedexpansion

Set /A "Limit=200"

for /F "Usebackq tokens=1" %%k in (
    "gmname.txt"
) do (
    Set /A "Line+=1"
    If !LINE! LEQ !LIMIT! (start /MIN UpMe.bat %%k)
)

Pause&Exit
于 2013-04-26T23:39:47.743 回答
0

如果“gmname.txt”的行数超过 200 行,这应该会启动 upme.bat。

@echo off
for /f %%a in ('find /c /v "" ^< "gmname.txt" ') do if %%a GTR 200 call upme.bat
于 2013-04-27T05:08:35.397 回答
0

http://ss64.com/nt/for.html展示了如何为输入文件的每一行运行一个代码块

SET count=1
 for /f "tokens=1" %%k in (gmname.txt) do (
 echo %count% : %%k
 set /a count+=1 )

您可以使用这种方法并对其进行调整以在count达到 200 多个时退出批处理文件

否则,您可以调用子例程而不是使用代码块,此链接显示
http://ss64.com/nt/call.html

于 2013-04-26T23:40:32.527 回答
0

尝试这个:

for /f "tokens=1*delims=:" %%k in ('findstr /n $ gmname.txt') do if %%k leq 200 start /MIN UpMe.bat %%l

中不应有空行gmname.txt

于 2013-04-27T02:15:57.547 回答