中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-03 03:48
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]给txt文件中的每行前面加一个固定的字母 查看 846 回复 6
楼 主 [已结]给txt文件中的每行前面加一个固定的字母 发表于 2008-11-28 16:57 ·  中国 北京 联通
新手上路
积分 2
发帖 2
注册 2008-11-27 18:11
17年会员
UID 132267
性别 男
状态 离线
大家好,小弟有事相求!小弟的问题如下:

给txt文件中的每行前面加一个固定的字母,

比如一个txt文件中的内容是:


1.windowsXP
2.windows2000
3.windows98
4.unix
5.linux
6....
7...
(尽可能更多……)

然后给每行前面加一个固定的字母 : <a>

让txt文本文件中的内容变成:


<a> 1.windowsXP
<a>2.windows2000
<a>3.windows98
<a>4.unix
<a> 5.linux
<a> 6....
<a> 7...
(尽可能更多……)

小弟先谢谢大家了!

[ Last edited by HAT on 2008-12-2 at 13:55 ]
2 发表于 2008-11-28 17:13 ·  中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
@echo off
set "str=^<a^>"&set "file=2222.txt"
for /f "delims=" %%a in (%file%) do (
if not defined dos (
set dos=cndos
>%file% echo %str%%%a
) else (
>>%file% echo %str%%%a
)
)
start "" %file%
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT +2 2008-12-02 13:56
3 发表于 2008-11-28 17:51 ·  中国 福建 泉州 移动
初级用户
★★
积分 134
发帖 54
注册 2008-11-19 11:47
17年会员
UID 131429
性别 男
状态 离线
好象会删掉空行
4 发表于 2008-11-28 18:19 ·  中国 福建 泉州 移动
初级用户
★★
积分 134
发帖 54
注册 2008-11-19 11:47
17年会员
UID 131429
性别 男
状态 离线
最后要加上set dos=否则第二次运行变追加
5 发表于 2008-11-28 19:10 ·  中国 福建 福州 电信
初级用户
积分 35
发帖 22
注册 2008-10-11 01:13
17年会员
UID 128044
性别 男
状态 离线
试试这个,注意"!"会跑没掉.


@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n "." test.txt') do (
set /a n+=1
if %%i gtr !n! call :loop %%i
echo.^<a^>%%j>>"test111.txt"
)
exit

:loop
echo.>>"test111.txt"
set /a n+=1
if %1 gtr %n% goto loop
goto :eof

本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT +2 2008-12-02 13:56
6 谢谢大家@! 发表于 2008-12-02 13:41 ·  中国 北京 海淀区 联通
新手上路
积分 2
发帖 2
注册 2008-11-27 18:11
17年会员
UID 132267
性别 男
状态 离线
谢谢你们的帮忙
7 发表于 2008-12-04 10:41 ·  中国 福建 泉州 移动
初级用户
★★
积分 134
发帖 54
注册 2008-11-19 11:47
17年会员
UID 131429
性别 男
状态 离线
@echo off
Setlocal Enabledelayedexpansion
set str=^<a^>&set dos=&set fn=9.txt
for /f "tokens=*" %%i in ('findstr /n "$" %fn%') do (
set aa=%%i&set aa=!aa:*:=!
if not defined dos (
set dos=cndos
if defined aa (echo !str!!aa!>%fn%) else echo.>%fn%
) else if defined aa (echo !str!!aa!>>%fn%) else echo.>>%fn%
)



拼的,不好意思.去掉了过渡文件
论坛跳转: