Board logo

标题: (已解决)如何在文本文件每行按顺序添加数字 [打印本页]

作者: jialot     时间: 2007-12-28 12:54    标题: (已解决)如何在文本文件每行按顺序添加数字

比如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 ]
作者: HAT     时间: 2007-12-28 13:40

@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1* delims=" %%a in ('findstr .* "a.txt"') do (
  set /a count+=1
  echo 第!count!行%%a
)

作者: huahua0919     时间: 2007-12-28 16:52
for /f %%i in ('findstr/n/v/b "@" a.txt') do (echo %%i >>b.txt)
作者: zh159     时间: 2007-12-28 16:58


  Quote:
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
作者: huahua0919     时间: 2007-12-28 17:03
对对!
但是关于连在一起的/vbn 我一直很疑惑,看到很多人用过,不过在 findstr中并没有说可以连用的说法
而dir中有这样的用法
dir  [/A[[:]attributes]]
其中:可以省略!比如我们可以 用 dir /ad-s   但不可以 用dir /apl
作者: lxmxn     时间: 2007-12-28 18:28
这一点就唯独findstr比较特殊一点吧。

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

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