namejm写的批处理

源代码在线查看: 显示只有指定个数字符的行.bat

软件大小: 148 K
上传用户: myc
关键词: namejm 批处理
下载地址: 免注册下载 普通下载 VIP

相关代码

				@echo off
				goto begain
				
				参数1:文本文件名
				参数2:要显示的行的字符数(可省)
				例如要打印a.txt中的字符数为4的行:
				print.bat a.txt 4
				或者直接把要处理的文件拖放到脚本文件上,然后按提示操作。
				效率非常高
				code by 3742668   2006-8-14
				
				:begain
				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			

相关资源