Board logo

标题: [系统相关] [已解决]请问在纯DOS下批处理如何获取文本的行数? [打印本页]

作者: a262615704    时间: 2011-10-10 00:20     标题: [已解决]请问在纯DOS下批处理如何获取文本的行数?

本帖最后由 a262615704 于 2011-10-10 21:12 编辑

文本dinfo.txt如下:
Disk: 1 (149.05GB) M:[WDC WD1600AAJS-22PSA0] S:[WD-WCAP91806016]
Disk: 2 (7.50GB) M:[Ut165 USB Flash Disk 0.00]



请问纯DOS下,如何获得dinfo.txt文本内容的总行数?
作者: cjiabing    时间: 2011-10-10 01:30

find  /c /n
findstr /n
作者: a262615704    时间: 2011-10-10 05:25

回复 2# cjiabing


   纯DOS下不能用findstr和for,只能用find, 请问如何把总行数赋值给变量N?
作者: cjiabing    时间: 2011-10-10 08:56

赋值给变量的方法通常有:
%0 %1……
set var=
set /p var=
set var=<1.txt
for……
另外,似乎DOS下可以支持FOR,比如可以用FOR /R,只是不支持FOR /F,未经验证,印象而已。
如果支持 for /r,可以这样:
for /r %a in (12345) do set var=%~na&echo %var%
麻烦的是,find不支持直接/n,也不支持通配符。但如果你知道结果,倒不难。
其他:
使用more +n命令循环,获得+n的值,当然,它计算空格。
edit
……
DOS命令比较死,一般直接无法解决,只能拐弯抹角了。
作者: lxzzr    时间: 2011-10-10 12:15

回复 1# a262615704

记得以前做DOS启动盘的时候有个LMOD.COM,对你可能有用...

配合临时文件,应该可以满足你的一些要求...
作者: Batcher    时间: 2011-10-10 20:45

回复 4# cjiabing


DOS里面的for命令是个光杆司令
/l、/r、/f统统没有
作者: a262615704    时间: 2011-10-10 21:11

只能用还是用strings比较好 感谢各位




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2