显示只有指定个数字符的行_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

时间: 2024-12-27 20:35:44

显示只有指定个数字符的行_DOS/BAT的相关文章

Android设置TextView显示指定个数字符,超过部分显示...(省略号)的方法_Android

本文实例讲述了Android设置TextView显示指定个数字符,超过部分显示...(省略号)的方法.分享给大家供大家参考,具体如下: 一.问题: 今天在公司遇到一个需求:TextView设置最多显示8个字符,超过部分显示...(省略号) 二.解决方法: 网上找了很多资料,有人说分别设置TextView的android:signature="true",并且设置android:ellipsize="end";但是我试了,并没有成功,最后自己试出一种方式如下:供大家参

批处理实现过滤重复行_DOS/BAT

a.txt内容如下: 123 456 789 123 123 789 获取重复的行,并且重复的行只保留一次,处理后得到b.txt内容如下: 123 789 方法1: @echo off REM 缺点1:无法处理特别大的文件 REM 缺点2:需要使用文件中没有出现的字符来标记变量(本例中使用的是下划线) setlocal for /f "delims=" %%i in (a.txt) do ( set /a _%%i+=1 ) (for /f "tokens=1-2 delim

文本最末列数值乘一个数的批处理实现_DOS/BAT

a.txt 1##4072.0###52.19### #72## # 2#38705.8# # # 51.73## #70# # 372###389.0##51.80##19.77# # 72##### 4##59.71#3715.45##71###### 以#和空格作为分隔符,最后一列的数值乘以7,其他不变. 已知的条件,数字是随机的,最末列的数值是整数,即使乘以7,仍在CMD所能计算范围内. #与空格与"."的位置和数量与每行的列数都是随机的. 输出如下: 1##4072.0###

运行cmd直接进入指定目录下的命令_DOS/BAT

新建一个.bat批处理文件,文件里命令: 复制代码 代码如下: @ECHO OFF cmd /k cd /d c:\data 然后运行该批处理文件cmd就可进入指定的 "c:\data"目录下. 参考: cmd /k的含义 Microsoft DOS cmd and command Bat命令学习 (实用)

批处理bat下载FTP服务器上指定天数之前的文件_DOS/BAT

@echo off rem 指定FTP用户名 set ftpUser=asx rem 指定FTP密码 set ftpPass=asx-asx rem 指定FTP服务器地址 set ftpIP=172.19.103.7 rem 指定待下载的文件位于FTP服务器的什么位置 set ftpFolder=/export/home/PROD/ntcdata rem 指定从FTP下载下来的文件存放到什么地方 set LocalFolder=E:/Temp rem 指定下载几天前的文件 set DaysAgo

编程语言 ++-请问在VC里面,怎样提取一条命令里面的几个字符并显示到指定对话框里面?

问题描述 请问在VC里面,怎样提取一条命令里面的几个字符并显示到指定对话框里面? 新手赶鸭子上架学习VC,做了一个TCPIP远程控制程序,照着例子来做,一知半解的,遇到个问题求教各位大神,,如上图,我点击"查询"会给服务器发出一条固定命令如"VC6 C 00 00",然后服务器响应返回一条命令如"VC6 S 01 02 03",怎样才能把01 02 03提取出来并显示在对话框里如"天线号:01,通道号:02,电流:03",另服

Chkntfs 显示或指定在启动计算机时计划的自动系统检查是否在 FAT、FAT32 或者 NTFS 卷上运行。_DOS/BAT

Chkntfs 显示或指定在启动计算机时计划的自动系统检查是否在 FAT.FAT32 或者 NTFS 卷上运行. 语法 chkntfs volume: [...] chkntfs [/d] chkntfs [/t[:time]] chkntfs [/x volume: [...]] chkntfs [/c volume: [...]] 参数 volume: [...]  必需指定驱动器号(冒号分隔).装入点或卷名.显示识别指定卷的文件系统的信息.如果已计划运行自动文件检查,则该参数会显示表明卷是

CMD命令行高级教程精选合编合集_DOS/BAT

目录第一章 批处理基础第一节 常用批处理内部命令简介1.REM 和 ::2.ECHO 和 @3.PAUSE4.ERRORLEVEL5.TITLE6.COLOR7.mode 配置系统设备8.GOTO 和 :9.FIND10.START11.assoc 和 ftype12.pushd 和 popd13.CALL14.shift15.IF16.setlocal 与 变量延迟(ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION启动或停用延缓环境变量扩展名.)

VS2013 C++串口编程,接收刷卡器数据,调试显示字符串中的字符无效

问题描述 VS2013 C++串口编程,接收刷卡器数据,调试显示字符串中的字符无效 C++代码: hcom = CreateFile(_T("COM3"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL, NULL); if (hcom == INVALID_HANDLE_VALUE) { return; } SetupComm(hcom, 1024, 1024); COMMTI