标题: [文件操作] [已解决]查找文件夹文本内容判断,符合条件则输出 [打印本页]
作者: czvde 时间: 2022-4-6 18:41 标题: [已解决]查找文件夹文本内容判断,符合条件则输出
本帖最后由 czvde 于 2022-4-8 11:55 编辑
文件夹中有3个文件:
123.txt
456.txt
abc.txt
123.txt- 123
-
- 3
- 123
- 1
- 123
- 1
- 123
- 1
- 123
- 1
复制代码
456.txt- 1
- 2
- 1111
- 3
-
- 1111
- 1
-
- 1111
- 1
- 1111
复制代码
abc.txt复制代码
批处理运行之后,生成a.txt的文本内容为复制代码
生成b.txt的文本内容为复制代码
已解决!
作者: Batcher 时间: 2022-4-6 19:17
回复 1# czvde
大于10行算满足还是不满足?
作者: czvde 时间: 2022-4-6 19:19
本帖最后由 czvde 于 2022-4-6 19:21 编辑
回复 2# Batcher
查找的文件,文本内容有10行以上(包含10行)都把文件名输出到a.txt
作者: Batcher 时间: 2022-4-6 19:25
回复 3# czvde
顶楼的例子里面456.txt有个空行,abc.txt也有个空行,为何一个满足另一个不满足?
作者: czvde 时间: 2022-4-6 19:28
回复 4# Batcher
已修正abc.txt文本内容
作者: went 时间: 2022-4-6 20:11
- @echo off & cd /d "%~dp0"
- (
- for %%i in (*.txt) do (
- findstr /n .* %%i | findstr "^10" >nul 2>nul && echo %%i
- )
- )>"a.txt"
- pause&exit
复制代码
作者: Batcher 时间: 2022-4-6 21:41
回复 5# czvde
如果abc.txt总行数是11,但是有2个空行,算满足吗?
作者: czvde 时间: 2022-4-7 00:18
回复 7# Batcher
1楼已重新修改要求
作者: qixiaobin0715 时间: 2022-4-7 09:24
如果各个文本文件行数不多的话,可以考虑下面代码。未测试:- @echo off
- set LineNum=10:
- for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
- findstr /n .* %%a|findstr /b %LineNum%>nul
- if not errorlevel 1 (
- echo,%%a>>a.txt
- findstr . %%a|findstr /n .|findstr /b %LineNum%>nul
- if not errorlevel 1 echo,%%a>>b.txt
- )
- )
- pause
复制代码
作者: Batcher 时间: 2022-4-7 13:27
回复 1# czvde - @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
- for /f "delims=" %%j in ('type "%%i" ^| find /v /c ""') do (
- echo %%i [包含空行]: %%j
- if %%j geq 10 (
- >>"a.log" echo,%%i
- for /f "delims=" %%k in ('findstr . "%%i" ^| find /v /c ""') do (
- echo %%i [不包含空行]: %%k
- if %%k geq 10 (
- >>"b.log" echo,%%i
- )
- )
- )
- )
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |