1

我有这个脚本片段:

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

...其中SECTIONTARGET是两个搜索参数。该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 回答
0

傻瓜的错误 - 在版本更改时,某个文件的位置发生了变化。因此,虽然我认为我对文件的搜索是正确的,但它实际上最终检索到了一个名称相似的文件,但不是同一个文件(MotionBase.class.asasm 与我需要的:BASE.class.asasm)以为我检查了位置在提交这个问题之前,但显然不是。

于 2013-08-13T03:35:26.220 回答