中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 11:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]将字符写入文本最后一行后面 查看 824 回复 6
楼 主 [已结]将字符写入文本最后一行后面 发表于 2008-11-18 12:38 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
将字符"我爱你"写入A.TXT,要求如下

原来的文本:

小嫒
小嫒
小嫒

处理后的:
小嫒
小嫒
小嫒我爱你


------------------------
还有个问题,想找出文本中重复的行.未重复的不用找出来.

B.TXT:
小嫒
茵茵
小嫒
小辉
大明
文峰
小嫒我爱你
茵茵

想得到的结果是:
BB.TXT:
小嫒
小嫒
小嫒我爱你
茵茵
茵茵


谢谢!!

[ Last edited by HAT on 2008-11-18 at 15:55 ]
2 发表于 2008-11-18 14:31 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
a.txt的最后一行非空的话:
@echo off
echo 我爱你>>a.txt
3 发表于 2008-11-18 14:47 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
找出重复的行:
@echo off
type nul>c.txt
for /f "delims=" %%a in (b.txt) do (
if defined _%%a (
>>c.txt echo.%%a
)
set "_%%a=%%a"
)
findstr /g:c.txt b.txt|sort>bb.txt
4 发表于 2008-11-18 15:01 ·  中国 福建 泉州 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
Originally posted by HAT at 2008-11-18 14:31:
a.txt的最后一行非空的话:
@echo off
echo 我爱你>>a.txt


第二个问题搞定.第一个问题最后一行确实是空行,有个回车符,有劳H版完善下~
5 Re 4楼 发表于 2008-11-18 15:17 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
type nul>b.txt
for /f %%a in ('type a.txt^|find /c /v ""') do (
set "RowNum=%%a"
)
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
if %%a lss %RowNum% (
>>b.txt echo.%%b
) else (
>>b.txt echo.%%b我爱你
)
)
move /y b.txt a.txt
6 发表于 2008-11-18 15:32 ·  中国 福建 泉州 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
测试通过,看起来有点复杂,感谢热心的H版版....!
7 发表于 2008-11-19 03:35 ·  中国 云南 普洱 电信
新手上路
积分 10
发帖 10
注册 2008-11-19 03:12
17年会员
UID 131406
性别 男
状态 离线
好贴,这里高手真多,都是热心好人啊
论坛跳转: