我有这段剧本:
for /F "tokens=1* delims=:" %%a in ('findstr /N /C:"%SECTION%" /C:"%TARGET%" %BASE%') do (
:: Stuff:
)
echo Search Parameters not found
...其中SECTION
和TARGET
是两个搜索参数。 BASE
文件约为16,000行。
这是我的问题:
当我在批处理脚本中执行for循环时,它会完全搜索2397行,然后放弃。但是,如果我手动运行findstr
命令,它将按预期搜索所有行。
有什么想法吗?
答案 0 :(得分: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
答案 1 :(得分:0)
愚弄错误 - 在更改版本时,某个文件的位置发生了变化。因此,当我认为我对该文件的搜索是正确的时,它实际上最终检索了一个类似名称的文件,但不是同一个文件(MotionBase.class.asasm vs我需要的东西:BASE.class.asasm) 以为我在提交这个问题之前检查了位置,但显然没有。