0
我拥有下面的代码。它可能很混乱,但它一次只能处理一个文件,在这种情况下,就是test1.OUT。我试图做的是尝试使用某种通配符名称而不是test1.OUT,并将该批处理文件迭代到文件夹中的所有.OUT文件。批处理字符串搜索遍历文件夹中的所有文件
我要运行的另一个问题是每次都会覆盖output3.txt文件。是否有可能让批处理文件的每次运行导出信息并将其添加到output3.txt而不是覆盖以前的信息?
@echo off
setlocal EnableDelayedExpansion
rem Assemble the list of line numbers
set numbers=
for /F "delims=:" %%a in ('findstr /I /N /C:"Number of Error Taps: 0" test1.OUT') do (
set /A before=%%a-6, after=%%a+1
set "numbers=!numbers!!before!: !after!: "
)
rem Search for the lines
(for /F "tokens=1* delims=:" %%a in ('findstr /N "^" test1.OUT ^| findstr /B "%numbers%"') do echo %%b) > output.txt
set wildcard=%%G
set numbers=
for /F "delims=:" %%a in ('findstr /I /N /C:"Site Number:" test1.OUT') do (
set /A before=%%a-1, after=%%a+1
set "numbers=!numbers!!before!: !after!: "
)
rem Search for the lines
(for /F "tokens=1* delims=:" %%a in ('findstr /N "^" test1.OUT ^| findstr /B "%numbers%"') do echo %%b) > output1.txt
set numbers=
for /F "delims=:" %%a in ('findstr /I /N /C:"Number of Error Taps: 0" test1.OUT') do (
set /A before=%%a-50, after=%%a+1
set "numbers=!numbers!!before!: !after!: "
)
rem Search for the lines
(for /F "tokens=1* delims=:" %%a in ('findstr /N "^" test1.OUT ^| findstr /B "%numbers%"') do echo %%b) > output2.txt
copy output1.txt+output.txt+output2.txt output3.txt
@pause
这正是我一直在寻找。谢谢! – Daniel