选择文本文件BATCH的一部分

时间:2015-12-15 10:51:41

标签: windows batch-file cmd

我正在使用BATCH,我有一个像这样的Apache配置文件:

< IfModule mpm_prefork_module >
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxRequestWorkers 250
    MaxConnectionsPerChild 0
< / IfModule >


< IfModule mpm_worker_module >
    StartServers 3
    MinSpareThreads 75
    MaxSpareThreads 250
    ThreadsPerChild 25
    MaxRequestWorkers 400
    MaxConnectionsPerChild 0
< / IfModule >

我的问题是,是否有任何方法可以只选择此文件的一部分,即“只读取”&lt; IfModule mpm_worker_module&gt;和&lt; / IfModule&gt;所以输出只是:

< IfModule mpm_worker_module >
    StartServers 3
    MinSpareThreads 75
    MaxSpareThreads 250
    ThreadsPerChild 25
    MaxRequestWorkers 400
    MaxConnectionsPerChild 0
< / IfModule >

谢谢! :D

1 个答案:

答案 0 :(得分:0)

由于我不知道你想对< IfModule mpm_worker_module >< / IfModule >之间的线路做什么,我只是简单地回应它们。但是,以任何其他方式处理它们并不是什么大不了的事。您仍然必须将inFile设置为要解析的实际文件。

@echo OFF
setlocal enabledelayedexpansion
set inFile=input.txt
set startTokenFound=0
for /F "tokens=*" %%l in (%inFile%) DO (
    set line=%%l
    if "%%l"=="< / IfModule >" set startTokenFound=0
    if !startTokenFound!==1 echo %%l
    if "%%l"=="< IfModule mpm_worker_module >" set startTokenFound=1
)