标题: [文本处理] 批处理打印两个参数之间的行 [打印本页]
作者: hsb116 时间: 2019-5-21 20:06 标题: 批处理打印两个参数之间的行
已知:有很多个txt文档,文档1内容为
111
222
333
444
文档2内容为
111
333
555
444
文档3内容为
111
333
666
444
需要批量打印111和444之间的行
作者: zaqmlp 时间: 2019-5-21 20:39
本帖最后由 zaqmlp 于 2019-5-21 22:59 编辑
- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /a-d/b *.txt') do (
- echo;---------------"%%i"----------------
- set "f="
- for /f "delims=" %%a in ('type "%%i"') do (
- if "%%a" equ "444" (set "f=")
- if defined f echo;%%a
- if "%%a" equ "111" (set f=1)
- )
- )
- echo;%info%
- pause
复制代码
作者: ivor 时间: 2019-5-21 21:33
- powershell "dir *.txt | %{if([System.IO.File]::ReadAllText(\"$_\") -match '(?<=111)[\s\S]*(?=444)' -eq $true){Write-Host $_ $Matches.Values}}"
复制代码
作者: Batcher 时间: 2019-5-21 21:51
以顶楼3个文本为例,希望得到的结果是怎样的呢?
作者: hsb116 时间: 2019-5-21 22:50
回复 4# Batcher
文档1结果为
222
333
文档2结果为
333
555
文档3结果为
333
666
作者: hsb116 时间: 2019-5-21 22:51
回复 3# ivor
麻烦问下这是这是怎么回事 这也是批处理语法吗?只接触过初级的
作者: amwfjhh 时间: 2019-5-22 01:16
powershell出山后批处理就变得有点鸡肋了
作者: miqilaosu 时间: 2019-5-23 17:00
回复 6# hsb116
保存为BAT格式%要写两个,直接运行写一个就行
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |