中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 10:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » txt里去重复的字符串 达人进 查看 1,126 回复 5
楼 主 txt里去重复的字符串 达人进 发表于 2008-02-18 11:34 ·  中国 辽宁 大连 电信
初级用户
积分 22
发帖 7
注册 2007-09-29 22:17
18年会员
UID 98597
性别 男
状态 离线
现在有txt里面如下
163.com 163.com
163.com
sohu.com sohu.com
sohu.com
baidu.com baidu.com
baidu.com
sina.com sina.com
sina.com
等等.

我想生成一个txt如下 也就是去掉2个重复
163.com
sohu.com
baidu.com
sina.com
等.

老大随便給个代码把 :D
2 发表于 2008-02-18 12:19 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@echo off
del 2.txt
for /f "delims=" %%i in (1.txt) do (
for %%a in (%%i) do (
if not defined %%a set %%a=A & echo %%a>>2.txt
)
)
pause
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
fanvy +2 2008-02-18 15:31
bat-zw +3 2008-04-27 21:23
简单!简单!再简单!
3 发表于 2008-02-18 12:36 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
for /f "tokens=2 delims= " %%i in (a.txt) do (
>> b.txt echo %%i)
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
fanvy +1 2008-02-18 15:31
nipo +2 2008-04-27 20:07
4 发表于 2008-04-27 20:06 ·  中国 辽宁 锦州 联通
中级用户
★★
积分 228
发帖 106
注册 2008-04-26 12:34
18年会员
UID 117003
性别 男
状态 离线
huahua0919的办法太高了,惊叹!
5 发表于 2008-04-27 21:19 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
对于解决这个问题3楼的方法是可以,但通用性不好,如下面的就去不了了:
12 12
45 12
63 12
71 45
12 71
63 63

[ Last edited by zw19750516 on 2008-4-27 at 09:20 PM ]
批处理之家新域名:www.bathome.net
6 来个自身修改的(不要生成2.txt): 发表于 2008-04-27 21:35 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type 1.txt') do (
set /a n+=1
for %%a in (%%i) do (
if not defined %%a (
set %%a=A
if !n! equ 1 (
echo %%a>1.txt
) else (
echo %%a>>1.txt
)
)
)
)
pause>nul


[ Last edited by zw19750516 on 2008-4-27 at 09:37 PM ]
批处理之家新域名:www.bathome.net
论坛跳转: