中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 00:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (已解决)如何在文本文件每行按顺序添加数字 查看 829 回复 5
楼 主 (已解决)如何在文本文件每行按顺序添加数字 发表于 2007-12-28 12:54 ·  中国 新疆 乌鲁木齐 电信
初级用户
积分 36
发帖 11
注册 2007-11-21 15:24
18年会员
UID 103328
性别 男
状态 离线
比如a.txt文本如下:
dfsfsd
fsfsd
fsdfsd
fsdfsd
fsdfsd
fdsfsd

求个批处理命令,将a.txt改为:
第1行dfsfsd
第2行fsfsd
第3行fsdfsd
第4行fsdfsd
第5行fsdfsd
第6行fdsfsd


谢谢2楼的朋友

[ Last edited by jialot on 2007-12-28 at 01:57 PM ]
2 发表于 2007-12-28 13:40 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1* delims=" %%a in ('findstr .* "a.txt"') do (
set /a count+=1
echo 第!count!行%%a
)
3 发表于 2007-12-28 16:52 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
for /f %%i in ('findstr/n/v/b "@" a.txt') do (echo %%i >>b.txt)
4 发表于 2007-12-28 16:58 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by huahua0919 at 2007-12-28 16:52:
for /f %%i in ('findstr/n/v/b "@" a.txt') do (echo %%i >>b.txt)

直接 findstr/nvb "@" a.txt>b.txt 就OK
5 发表于 2007-12-28 17:03 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
对对!
但是关于连在一起的/vbn 我一直很疑惑,看到很多人用过,不过在 findstr中并没有说可以连用的说法
而dir中有这样的用法
dir [/A[[:]attributes]]
其中:可以省略!比如我们可以 用 dir /ad-s 但不可以 用dir /apl
6 发表于 2007-12-28 18:28 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
这一点就唯独findstr比较特殊一点吧。

另外,huahua0919的“findstr /n/v/b”这样的写法会报错,要么都空格分开,要么连写在一起(/nvb)。

至于dir可以用类似“dir /ad-s”,因为“/d”和“/-s”在这里不是dir的某个参数,而是参数“/a”的属性值,所以可以这么写。如果是“dir /d /a /-s”,那么这个dir的含义又变了,肯定和“dir /ad-s”表示的不是一个意思了。
论坛跳转: