华域联盟 DOS/BAT 显示只有指定个数字符的行

显示只有指定个数字符的行

复制代码 代码如下:

@echo off

goto begin

参数1:文本文件名

参数2:要显示的行的字符数(可省)

例如要打印a.txt中的字符数为4的行:

print.bat a.txt 4

或者直接把要处理的文件拖放到脚本文件上,然后按提示操作。

效率非常高

:begin

setlocal ENABLEDELAYEDEXPANSION

set var=%2

if "%var%" == "" set /p var=输入要显示的行的字符数:

for /l %%i in (1,1,%var%) do set str=!str!.

findstr /x %str% %1

pause>nul

goto :eof

@echo off

:: 显示只有4个字符的文本行

:: test.txt中只有纯字母,无空格,无空行

:: 因为是全文解析,所以效率低下

:: code by jm 2006-8-14

for /f %%i in (test.txt) do (

set str=%%i

set var=%%i

call :loop

set num=0

)

pause

goto :eof

:loop

set var=%var:~0,-1%&& set /a num+=1

if not "%var%"=="" goto loop

if %num% equ 4 echo %str%

goto :eof

@echo off

:: 通过首尾插入字符来判断,效率较高

:: 适合行中带空格的情况

:: 如果不插入字符,只判断第5位的字符情况,会出错

:: code by 3742668

setlocal ENABLEDELAYEDEXPANSION

for /f "delims=" %%i in (test.txt) do (

set str=b%%ie

if not "!str:~5,1!" == "" if "!str:~6,1!" == "" echo. %%i

)

pause

goto :eof

本文由 华域联盟 原创撰写:华域联盟 » 显示只有指定个数字符的行

转载请保留出处和原文链接:https://www.cnhackhy.com/16321.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部