中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-13 22:16
楼 主 如何字符 发表于 2009-10-27 11:02 ·  中国 陕西 西安 电信
社区乞丐
积分 -14
发帖 2
注册 2008-11-20 22:26
UID 131603
性别 男
状态 离线
a.txt
包含单.谢谢

[ Last edited by dbinbox on 2009-10-28 at 17:13 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT -12 2009-10-28 20:32
2 发表于 2009-10-27 14:45 ·  中国 北京 东城区 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
UID 55770
状态 离线
建议这些文件上传一份。

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
3 发表于 2009-10-27 15:44 ·  中国 辽宁 葫芦岛 联通
中级用户
★★
积分 247
发帖 147
注册 2009-04-09 20:52
UID 142531
性别 男
状态 离线
我用了一个笨方法:

@echo off
FOR %%C IN (A B C) DO (
IF EXIST %%C1.TXT DEL %%C1.TXT
)

for /f "tokens=1,2,3" %%x in (all.txt) do Find /i "%%x" a.txt >nul 2>nul || echo %%x %%y %%z>>a1.txt

if exist a1.txt (
for /f "tokens=1,2,3" %%x in (a1.txt) do find /i "%%x" b.txt >nul 2>nul || echo %%x %%y %%z>>b1.txt
) else (
echo ALL.TXT 中的内容A.TXT 中都有!
GOTO END
)

if exist b1.txt (
for /f "tokens=1,2,3" %%x in (b1.txt) do find /i "%%x" c.txt >nul 2>nul || echo %%x %%y %%z>>c1.txt
) ELSE (
ECHO A.TXT 中没有的 B.TXT 中都有!
GOTO END
)

IF EXIST C1.TXT (
TYPE C1.TXT
) ELSE (
ECHO A.TXT和B.TXT 中没有的 C.TXT 中都有!
)

:END
PAUSE

[ Last edited by DXSX on 2009-10-27 at 16:10 ]
4 发表于 2009-10-27 16:31 ·  中国 辽宁 葫芦岛 联通
中级用户
★★
积分 247
发帖 147
注册 2009-04-09 20:52
UID 142531
性别 男
状态 离线
再来个简单一些的:
@echo off
IF EXIST x.TXT DEL x.TXT
copy a.txt+b.txt+c.txt x.txt >nul
if exist c1.txt del c1.txt
for /f "tokens=1,2,3" %%x in (all.txt) do Find /i "%%x" x.txt >nul 2>nul || echo %%x %%y %%z>>c1.txt
IF EXIST C1.TXT (
TYPE C1.TXT
) ELSE (
ECHO A.TXT、B.TXT、C.TXT 中饱含了all.txt 中的全部内容 !
)

:END
PAUSE
5 发表于 2009-10-27 22:14 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
一、建议内存够大试用

@echo off
for %%i in ("a.txt" "b.txt" "c.txt") do for /f "usebackq delims=" %%a in (%%i) do set %%a=a
for /f "delims=" %%a in (all.txt) do if not defined %%a echo %%a
pause

二、 因findstr 对中文感冒 所以先把前面中文名去掉后再处理 因此如遇前面名相同而后面数据不相同会有出错,同样前面名含空格也一样出错

@echo off&setlocal enabledelayedexpansion
(for %%i in ("a.txt" "b.txt" "c.txt") do (
for /f "usebackq tokens=1*" %%a in (%%i) do echo %%b
))>%temp%\tmp_tem
findstr /ivg:"%temp%\tmp_tem" "all.txt">nrew.txt
del "%temp%\tmp_tem"
pause
简单!简单!再简单!
6 发表于 2009-10-27 23:10 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
UID 59720
状态 离线
@echo off
copy a.txt+b.txt+c.txt abc.txt >nul
cd.>bh.txt
for /f "delims=" %%i in (abc.txt) do SET %%i=A
for /f "delims=" %%j in (all.txt) do if /I not defined %%j echo %%j>>bh.txt

[ Last edited by ZJHJ on 2009-10-27 at 23:11 ]
7 发表于 2009-10-28 17:19 ·  中国 陕西 西安 电信
社区乞丐
积分 -14
发帖 2
注册 2008-11-20 22:26
UID 131603
性别 男
状态 离线
请斑竹删除该帖子吧。谢谢
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
DOSroot -2 2009-10-29 20:21
kirov -2 2009-11-01 00:07
8 发表于 2009-10-28 18:50 ·  中国 广西 南宁 西乡塘区 电信
初级用户
★★
积分 99
发帖 53
注册 2006-08-18 18:44
UID 60809
状态 离线
楼主脑袋没问题吧,索要答案的是你,说删除帖子的也是你,别人对你的帮助都是如此廉价的吗?
9 发表于 2009-10-28 19:33 ·  中国 山东 移动
中级用户
★★
积分 208
发帖 97
注册 2006-12-28 22:08
UID 74845
性别 男
状态 离线
恩,楼主也太随便了,别人帮助了你,你却修改完标题就走!
10 发表于 2009-11-01 00:10 ·  中国 上海 杨浦区 电信
版主
★★
Pfc.YangZJ
积分 412
发帖 223
注册 2008-12-31 19:28
UID 135466
性别 男
来自 上海杨浦
状态 离线
这未免有点太过分了,别人帮了你,你却要删帖。
你遇到的问题兴许别人也会碰到,就不能留下做个借鉴么?
做人不可如此之自私的,要知道我们学到了东西也要给他人留下些指引的!
以牙还牙,加倍奉还。

----BH4EAW 杨志杰

Blog:我的blog
论坛跳转: