中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 16:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何去除一行中重复的字符 查看 843 回复 6
楼 主 如何去除一行中重复的字符 发表于 2007-08-07 17:19 ·  中国 北京 联通
初级用户
积分 20
发帖 7
注册 2007-08-06 12:42
18年会员
UID 94723
性别 男
状态 离线
如有一行文字,内容如下:
马放南山 马放南山 作者:无名
经处理之后变成
马放南山 作者:无名
2 发表于 2007-08-07 17:25 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
@echo off
set "var=马放南山 马放南山 作者:无名"
for /f "tokens=1*" %%i in ("%var%") do echo %%j
pause
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-08-07 17:33 ·  中国 北京 联通
初级用户
积分 20
发帖 7
注册 2007-08-06 12:42
18年会员
UID 94723
性别 男
状态 离线
谢谢,我先试试看。
4 发表于 2007-08-07 17:35 ·  中国 北京 联通
初级用户
积分 20
发帖 7
注册 2007-08-06 12:42
18年会员
UID 94723
性别 男
状态 离线
如果中间没有空格,该怎么办?

如:
马放南山马放南山
5 发表于 2007-08-07 17:39 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
如果没有空格&如果名称字符数(长度)不确定&如果......
那么就无法用批处理来解决。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
6 发表于 2007-08-07 17:41 ·  中国 北京 联通
初级用户
积分 20
发帖 7
注册 2007-08-06 12:42
18年会员
UID 94723
性别 男
状态 离线
那么,for命令是否可以对每一行的每一个字符进行读取。
读取之后存储起来,并与其后的字符进行对比判断?
7 发表于 2007-08-31 18:08 ·  中国 湖南 联通数据上网公共出口
初级用户
积分 48
发帖 24
注册 2007-08-31 17:37
18年会员
UID 96273
性别 男
状态 离线
可以
论坛跳转: