1

私はスクリプトのこのスニペットを持っています:

for /F "tokens=1* delims=:" %%a in ('findstr /N /C:"%SECTION%" /C:"%TARGET%" %BASE%') do (
    :: Stuff:
)
echo Search Parameters not found

...ここでSECTION、 とTARGETは 2 つの検索パラメーターです。ファイルはBASE約 16,000 行です。

これが私の問題です:

バッチ スクリプト内で for ループを実行すると、正確に 2397 行を検索した後、あきらめてしまいます。ただし、findstrコマンドを手動で実行すると、期待どおりにすべての行が検索されます。

何か案は?

4

2 に答える 2

0

これは失敗しますか?ここでは、Win 8 と XP Pro VM で動作し、16,000 行を印刷します。

@echo off
(for /l %%a in (1,1,16000) do @echo 0123456789012345678901234567890123456789)>file
SET "section=123"
SET "target=456"
SET "base=file"

ECHO start
for /F "tokens=1* delims=:" %%a in ('findstr /NC:"%SECTION%" /C:"%TARGET%" "%BASE%"') do (
ECHO %%a
)
pause
于 2013-08-10T08:59:56.113 に答える