中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-05 08:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理命令去除文本重复的内容?【已解决】 查看 1,095 回复 3
楼 主 [求助]批处理命令去除文本重复的内容?【已解决】 发表于 2009-11-14 04:30 ·  中国 广东 广州 珠江宽频
新手上路
积分 5
发帖 5
注册 2009-11-13 06:03
16年会员
UID 154662
性别 男
状态 离线
以下是我写的一个批量浏览QQ空间的代码...
由于是帮别人踩空间..所以就做了个批处理..
现在有一个问题...
由于人太多了..起码300人以上...
也不知道有没有重复的..
所以想高手在下面那段代码里加入一段去掉重复的命令


set "strOne=explorer.exe http://user.qzone.qq.com/"
set "strTwo="
for /f "tokens=1 delims=-" %%i in (1.txt) do (
>>a.bat echo %strOne%%%i%strTwo%
)
setlocal enabledelayedexpansion
set b=1
for /f "delims=" %%i in (a.bat) do (
set /a n+=1
echo !n!
if !n! gtr 20 (set n=0&set /a b+=1
) else (echo %%i>>!b!.bat)
)
del a.bat




1.txt文本内容如下(20个Q号):

2312314----121---0.
545412---212.163
2321312---212.224
2154345----12.13653
2121201----121
3332848----aini.nana
5816218----long.1981bo1
4621764----zxcasd.123456
7875611----lich.en521.1314
6596097----luojiar.i8565885

3254991----.bi
9435782----200.1012
4572207----25445597TANGKE\
2321312---212.224
6741407----820408.2416
3332848----aini.nana
8936542----wanxq20060609
5721667----9699958
7875611----lich.en521.1314
6596097----luojiar.i8565885



处理过后..(16个Q号,,处理了4个重复的)
explorer.exe http://user.qzone.qq.com/2312314
explorer.exe http://user.qzone.qq.com/545412
explorer.exe http://user.qzone.qq.com/2321312
explorer.exe http://user.qzone.qq.com/2154345
explorer.exe http://user.qzone.qq.com/2121201
explorer.exe http://user.qzone.qq.com/3332848
explorer.exe http://user.qzone.qq.com/5816218
explorer.exe http://user.qzone.qq.com/4621764
explorer.exe http://user.qzone.qq.com/7875611
explorer.exe http://user.qzone.qq.com/6596097
explorer.exe http://user.qzone.qq.com/3254991
explorer.exe http://user.qzone.qq.com/9435782
explorer.exe http://user.qzone.qq.com/4572207
explorer.exe http://user.qzone.qq.com/6741407
explorer.exe http://user.qzone.qq.com/8936542
explorer.exe http://user.qzone.qq.com/5721667


请高手直接发代码..如果有时间..最好解释一下..好让小弟解理透彻点..

[ Last edited by jy6221330 on 2009-11-14 at 14:34 ]
2 发表于 2009-11-14 13:13 ·  中国 香港 城市电讯有限公司
新手上路
积分 0
发帖 8
注册 2008-08-06 16:33
17年会员
UID 122832
性别 男
状态 离线
轉貼的:

@echo off
set/p =<nul>str_.txt
for /f "delims=" %%i in (test.txt) do (
if not defined %%i set %%i=A & echo %%i>>str_.txt
)
start str_.txt


[ Last edited by Taurus on 2009-11-14 at 13:18 ]
3 发表于 2009-11-14 14:32 ·  中国 广东 广州 珠江宽频
新手上路
积分 5
发帖 5
注册 2009-11-13 06:03
16年会员
UID 154662
性别 男
状态 离线
感谢二楼的帮忙...给了我灵感..
我把二楼的代码洽入了我的代码里...
终于得到了我想要的结果...

代码如下:(如果有不善之处,希望高手们给点意思..没有最好..只有更好...不断完善..才是硬道理..)

set "strOne=explorer.exe http://user.qzone.qq.com/"
set "strTwo="
for /f "tokens=1 delims=-" %%i in (1.txt) do (
>>a.bat echo %strOne%%%i%strTwo%
)
set/p =<nul>c.bat
for /f "delims=" %%i in (a.bat) do (
if not defined %%i set %%i=A & echo %%i>>c.bat
)
del a.bat
setlocal enabledelayedexpansion
set b=1
for /f "delims=" %%i in (c.bat) do (
set /a n+=1
echo !n!
if !n! gtr 20 (set n=0&set /a b+=1
) else (echo %%i>>!b!.bat)
)
del c.bat



如有不足之处...请高手指点..
4 发表于 2009-11-16 15:46 ·  中国 江西 九江 电信
新手上路
积分 10
发帖 9
注册 2009-10-17 21:35
16年会员
UID 153234
性别 男
状态 离线
挺好的 不错
论坛跳转: