Board logo

标题: 这样处理TXT的功能应该如何实现 [打印本页]

作者: vbird     时间: 2006-12-2 17:56    标题: 这样处理TXT的功能应该如何实现

1个TXT文本,能否使用批处理,从第一行开始,在每行的末尾从1开始升序加数字,例如

  Quote:
XXXXX1
XXXXX2
XXX3
XXXXXXXXX4
XXXXX5
XXXXXXX6


──────────────── 版务记录 ────────────────
执行:namejm
原标题:这样处理TXT的功能应该如何实现
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因属论坛新人,暂时不予处罚;若三日之后尚未修改标题,将扣除2点积分,
      以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,以避免在
      今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────


[ Last edited by namejm on 2006-12-23 at 05:02 PM ]
作者: lxmxn     时间: 2006-12-2 18:08

  abc.txt为原文件,new_file.txt为生成的新文件。
@echo off&setlocal EnableDelayedExpansion
set/a a=1
if exist new_file.txt del /a/q new_file.txt
for /f "delims=" %%a in (abc.txt) do (
        call echo %%a!a!>>new_file.txt
        set/a a+=1
)

作者: namejm     时间: 2006-12-2 20:05
  可以把 call 去掉。
作者: weapfe     时间: 2006-12-3 03:02


  Quote:
Originally posted by lxmxn at 2006-12-2 05:08:

  abc.txt为原文件,new_file.txt为生成的新文件。[code]
@echo off&setlocal EnableDelayedExpansion
set/a a=1
if exist new_file.txt del /a/q new_file.txt
fo ...

请教一下:"setlocal EnableDelayedExpansion"这是做什么用的,为什么每个人的代码上都会有呢??
作者: tao0610     时间: 2006-12-3 03:15
setlocal EnableDelayedExpansion是环境变量延时,搜索一下就知道了!
也可以不用!
for /f "tokens=1* delims=:" %%i in ('findstr /n .* file.txt') do echo %%j%%i >>new.txt

作者: 26933062     时间: 2006-12-24 05:57
看看这个是你要的吗?这是我把别人给我的一个答案改了一下,好像正好适合你
在我这测试通过,你最好先试试,把del和ren那两行先删除.看看2.txt里的内容是不是你要的
@echo off&setlocal EnableDelayedExpansion
set a=1
for /f %%i in (1.txt) do (
        @echo %%i!a! >>2.txt
        set/a a+=1
        )
)
del 1.txt
ren 2.txt 1.txt

没注意2楼的,他的专业多了,呵呵,见笑了.

[ Last edited by 26933062 on 2006-12-24 at 10:19 PM ]
作者: jmz573515     时间: 2006-12-24 11:01
'用VBS写的,把下面内容存为DD.VBS之后,把要想加数字的文件拖放到DD.VBS上面即可,建议“楼主”选进行测试,之后在使用。
on error resume next
set fso=createobject("scripting.filesystemobject")
set afile=fso.opentextfile(Wscript.Arguments(0),1)
do While afile.AtEndOfStream <> True
i=i+1
b=afile.readline
c= c & b &i& vbcrlf
loop
afile.close
set afile=fso.opentextfile(Wscript.Arguments(0),2)
afile.write c
afile.close
msgbox "已经给文件加上数字!",48+4096,"操作成功"
[ Last edited by jmz573515 on 2006-12-26 at 09:53 AM ]