![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 20:23 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎么显示一文本的行数(总数) |
| 可打印版本 2,934 / 17 |
| 第1楼 scriptor | 发表于 2007-02-26 09:07 |
| 银牌会员 发帖 555 积分 1,187 | |
|
怎么显示一文本的行数(总数) 如题。
|
|
| 第2楼 scriptor | 发表于 2007-02-26 09:31 |
| 银牌会员 发帖 555 积分 1,187 | |
|
for /f "delims=" %%i in (l.txt) do (set/a num+=1)
echo len=%num% 但是以行中若是回车符号,结果就不对,怎么改,谢谢! |
|
| 第3楼 vkill | 发表于 2007-02-26 09:48 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
看你要不要空行和开头是;的行了
|
|
| 第4楼 scriptor | 发表于 2007-02-26 09:57 |
| 银牌会员 发帖 555 积分 1,187 | |
|
都要
只要一行中有字符,不管是什么字符 包括只有一个回车符号的行 [ Last edited by scriptor on 2007-2-25 at 09:42 PM ] |
|
| 第5楼 vkill | 发表于 2007-02-26 11:00 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by scriptor at 2007-2-26 09:57: 那还是用sed好了 sed -n $= life 因为当文件中有空行时用findstr /N . life还是会忽略空行的 |
|
| 第6楼 scriptor | 发表于 2007-02-26 11:23 |
| 银牌会员 发帖 555 积分 1,187 | |
|
我的l.txt的内容是:
w e 我的bat文件是: @echo off for /f "delims=" %%i in ('find /v /i /n "" l.txt') do (set/a num+=1) echo len=%num% pause>nul 结果为4,但是只有三行啊?? 难道要这样减去1才对?这是什么道理? 还有别的方法不? |
|
| 第7楼 slore | 发表于 2007-02-26 11:45 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
脚本吧
|
|
| 第8楼 scriptor | 发表于 2007-02-26 11:53 |
| 银牌会员 发帖 555 积分 1,187 | |
|
你是说用vbs或js?
那个当然可以。可是我要的是bat的 |
|
| 第9楼 xycoordinate | 发表于 2007-02-26 23:07 |
| 中级用户 发帖 228 积分 493 来自 安徽 | |
|
@echo off
setlocal enabledelayedexpansion set i=0 for /f %%a in (1.txt) do ( set /a i+=1 echo !i! %%a >>1new.txt ) 不能包括空行! ![]() [ Last edited by xycoordinate on 2007-2-26 at 10:10 AM ] |
|
| 第10楼 qjbm | 发表于 2007-02-26 23:52 |
| 初级用户 发帖 44 积分 125 | |
|
scriptor兄
给你个变态方法!!哈哈利用一下SET /A的小BUG |
|
| 第11楼 lxmxn | 发表于 2007-02-27 00:01 |
| 版主 发帖 4,938 积分 11,386 | |
|
可以处理空行及包含其它字符的行: |
|
| 第12楼 zh159 | 发表于 2007-02-27 00:02 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
10 楼的效果和:
是一样的,利用了set/a去除了数字后面的“:”字符 SET LEN=%%i:设置LEN等于findstr /n显示的行数(不用计数),包含所有行 [ Last edited by zh159 on 2007-2-26 at 11:04 AM ] |
|
| 第13楼 xycoordinate | 发表于 2007-05-05 10:47 |
| 中级用户 发帖 228 积分 493 来自 安徽 | |
Originally posted by zh159 at 2007-2-27 00:02: 10楼的,主要是用了2>nul,妙!!! [ Last edited by xycoordinate on 2007-5-5 at 10:49 AM ] |
|
| 第14楼 hizebra | 发表于 2007-12-24 01:10 |
| 新手上路 发帖 5 积分 19 | |
|
look!
<a href="http://www.cn-dos.net/forum/viewthread.php?tid=33878&fpage=1&highlight=%E8%A1%8C%E6%95%B0" target="_blank">批处理中如何判断一个文本中的行数</a> |
|
| 第15楼 ZJHJ | 发表于 2007-12-24 09:03 |
| 高级用户 发帖 374 积分 609 | |
|
没明白?为什么速度比
find /v /c "" 1.txt>cs.txt for /f "tokens=2 delims=:" %%i in (cs.txt) do @echo %%i 慢很很多呢?? |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |