我有一个文本文件,想使用 Windows 批处理脚本提取两个指定行之间的所有行。
第 1 行:!FILE_FORMAT=ADS
第 2 行:!VERSION=1.0
.
.
LineX: '父|子|IsPrimary| * ***(该行以 ' 开头并且很长)
.
.
LineY: !PropertyArray=成本中心(行以 ! 开头)
.
.
线Z。
我想提取 LineX 和 LineY 之间的所有行并将其输出到另一个文件。
下面的代码正确地找到了起始行。但它只是删除了我想要停止脚本的行(Y 行)并输出文件的其余部分。
输出是从 X 行到 Z 行,没有 Y 行。
@for /f "tokens=1 delims=[]" %%a in ('find /n "'Parent|Child"^<D:\DEV\Test\Cost_Center.txt') do @(
more +%%a D:\DEV\Test\Cost_Center.txt |find /v "!PropertyArray=Cost Center" || goto :eof)>D:\DEV\Test\Cost_Center_Out.txt