回复 21# WBATW
客气了,相互学习!
13楼的代码只提供了[提取少于3个字符数的行内容]。
如下代码是去除少于3个字符的行内容,并保存至文本所在目录,和文本相同名-1.txt文档内(也可以保存在同一个文档内,自己改下)。- @echo off&setlocal EnableDelayedExpansion
- set j=1
-
- ::获取批处理目录及子目录所有txt文本
- for /f "delims=" %%i in ('dir /b /a-d /s *.txt') do (
- set "tet=%%i"
-
- rem 提取文本路径、文件名、文件后缀
- for %%I in ("!tet!") do (set fp=%%~dpI&set fn=%%~nI&set fx=%%~xI)
- echo 正在处理文本!j!:!fn!!fx!
-
- rem 对文本每行进行字符数判断,保留3个字符及以上的行内容,输出至文本同名-1.txt的文档内
- for /f "tokens=1 delims=" %%a in ('findstr .* "!tet!"') do (
- set tempa=%%a
- if not "!tempa:~2,1!"=="" echo %%a>>"!fp!!fn!-1!fx!"
- )
- set /a j+=1
- )
- echo 运行完成
- pause
- exit
复制代码
|