|
vbird
新手上路

积分 4
发帖 1
注册 2006-12-2
状态 离线
|
『楼 主』:
这样处理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 ]
|
|
2006-12-2 17:56 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
2 楼』:
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
)
|
|
2006-12-2 18:08 |
|
|
namejm
荣誉版主
       batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
3 楼』:
可以把 call 去掉。
|

尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-12-2 20:05 |
|
|
weapfe
初级用户
 
积分 144
发帖 66
注册 2006-11-30
状态 离线
|
『第
4 楼』:
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"这是做什么用的,为什么每个人的代码上都会有呢??
|
|
2006-12-3 03:02 |
|
|
tao0610
高级用户
    朦胧的世界
积分 579
发帖 218
注册 2006-10-24
状态 离线
|
『第
5 楼』:
setlocal EnableDelayedExpansion是环境变量延时,搜索一下就知道了!
也可以不用!
for /f "tokens=1* delims=:" %%i in ('findstr /n .* file.txt') do echo %%j%%i >>new.txt
|

认识自己,降伏自己,改变自己,才能改变别人! |
|
2006-12-3 03:15 |
|
|
26933062
银牌会员
    
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
6 楼』:
看看这个是你要的吗?这是我把别人给我的一个答案改了一下,好像正好适合你
在我这测试通过,你最好先试试,把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 ]
|
|
2006-12-24 05:57 |
|
|
jmz573515
银牌会员
    
积分 1212
发帖 464
注册 2006-12-13
状态 离线
|
『第
7 楼』:
'用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 ]
|
|
2006-12-24 11:01 |
|