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 )

そのようなアプローチを使用して、count200 を超えたときにバッチ ファイルを終了するように適応させることができます。

それができない場合は、コード ブロックを使用する代わりにサブルーチンを呼び出すことができます。このリンクでは、
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 に答える