中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 05:51
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]去掉文本文档中相同的行
可打印版本  1,044 / 6
第1楼 qinchun36 发表于 2008-07-22 17:24
高级用户 发帖 400 积分 609
[已结]去掉文本文档中相同的行
文本文档 a.txt 里面有些行是完全相同的,
我想编个批处理把那些多余的相同的去掉,
使得弄完以后所有的都不相同.

怎么办啊, 我试了下没办法, 象下面这样的:

for /f %%i in (a.txt) do echo %%i>>new.txt&set str=%%i&for /f %%j in (a.txt) do if %%j==%str% set %%j=nul

[ Last edited by HAT on 2008-10-30 at 23:23 ]
第2楼 fuuma 发表于 2008-07-23 16:05
初级用户 发帖 14 积分 32
@echo off
if exist new.txt del new.txt
sort/r<a.txt>temp.txt
setlocal enabledelayedexpansion
set cat=
set dog=
set/a cnt=-1
for /f %%i in (temp.txt) do (
set cat=!dog!
set dog=%%i
set/a cnt+=1
if not "!cat!" equ "" if !dog! neq !cat! (echo !cat! >>new.txt&set/a cnt=0)
)
if !dog! neq !cat! (echo !dog! >>new.txt) else (
echo !cat! >>new.txt)
if exist temp.txt del temp.txt
第3楼 qinchun36 发表于 2008-09-05 13:00
高级用户 发帖 400 积分 609
Originally posted by fuuma at 2008-7-23 04:05 PM:
@echo off
if exist new.txt del new.txt
sort/r<a.txt>temp.txt
setlocal enabledelayedexpansion
set cat=
set dog=
set/a cnt=-1
for /f %%i in (temp.txt) do (
set cat=!dog!
set dog=%%i
s ...



谢了啊 ,哈哈
第4楼 nanhezzb 发表于 2008-09-07 16:26
初级用户 发帖 32 积分 37
太复杂啊,可以考虑find命令。
第5楼 HAT 发表于 2008-09-07 18:08
版主 发帖 5,017 积分 9,023
Re 4楼
是这个意思吗?
第6楼 qinchun36 发表于 2008-10-30 23:14
高级用户 发帖 400 积分 609
Originally posted by HAT at 2008-9-7 06:08 PM:
是这个意思吗?



真是这样啊!!

能解释下吗,太高深了看不懂

尤其是 。。。 2>nul||echo %%a>>b.txt 。。。

[ Last edited by qinchun36 on 2008-10-30 at 23:16 ]
第7楼 HAT 发表于 2008-10-30 23:23
版主 发帖 5,017 积分 9,023
Re 6楼
教程里面有

批处理的教学
http://www.cn-dos.net/forum/viewthread.php?tid=2338

批处理最完整人性化教程
http://www.cn-dos.net/forum/viewthread.php?tid=18482

批处理新手FAQ整理
http://www.cn-dos.net/forum/viewthread.php?tid=34049

中国DOS联盟批处理室经典帖子合集
http://www.cn-dos.net/forum/viewthread.php?tid=31551
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023