中国DOS联盟论坛

中国DOS联盟
-- 联合DOS 推动DOS 发展DOS --

联盟域名:cndos.rths.ml  论坛域名:cndos.rths.ml/forum

DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

» 游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助

 

作者:
标题: [求助]批处理命令去除文本重复的内容?【已解决】 上一主题 | 下一主题
jy6221330
新手上路





积分 5
发帖 5
注册 2009-11-13
状态 离线
『楼 主』:  [求助]批处理命令去除文本重复的内容?【已解决】

以下是我写的一个批量浏览QQ空间的代码...
由于是帮别人踩空间..所以就做了个批处理..
现在有一个问题...
由于人太多了..起码300人以上...
也不知道有没有重复的..
所以想高手在下面那段代码里加入一段去掉重复的命令
CODE:  [Copy to clipboard]
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 ]

2009-11-14 04:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Taurus
新手上路





积分 0
发帖 8
注册 2008-8-6
状态 离线
『第 2 楼』:  

轉貼的:

  Quote:
@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 ]

2009-11-14 13:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jy6221330
新手上路





积分 5
发帖 5
注册 2009-11-13
状态 离线
『第 3 楼』:  

感谢二楼的帮忙...给了我灵感..
我把二楼的代码洽入了我的代码里...
终于得到了我想要的结果...

代码如下:(如果有不善之处,希望高手们给点意思..没有最好..只有更好...不断完善..才是硬道理..)
CODE:  [Copy to clipboard]
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
如有不足之处...请高手指点..

2009-11-14 14:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hongcheng668
新手上路





积分 10
发帖 9
注册 2009-10-17
状态 离线
『第 4 楼』:  

挺好的 不错

2009-11-16 15:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转:  



[ 联系我们 - 中国DOS联盟 ]


Powered by Discuz! © 2001-2011