显示只有指定个数字符的行
显示只有指定个数字符的行
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:@echooffgotobegin参数1:文本文件名参数2:要显示的行的字符数(可省)例如要打印a.txt中的字符数为4的...

复制代码 代码如下:

@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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新DOS/BAT学习
热门DOS/BAT学习
脚本专栏子分类