求批处理:怎样从文本提取特定字符串(并删除)输出到新文本?

a.txt中有若干Email地址,每个占一行,想在D:\AAA文件夹中查找所有文本,只要与a.txt一样的地址,就把该地址所在的整个一行删除,同时输出到b.txt,并按拼... a.txt中有若干Email地址,每个占一行,想在D:\AAA文件夹中查找所有文本,只要与a.txt一样的地址,就把该地址所在的整个一行删除,同时输出到b.txt,并按拼音顺序排列。
例如:
a.txt内容是这样:
123456@tom.com
23456789@sina.com
3456@163.com

D:\AAA文件夹中某文本内容是这样:
国际贸易公司 123456@tom.com
××××× abcd@126.com
××××××××× qwer@sina.com
(“×”是汉字)

批处理运行的结果:
b.txt的内容是
国际贸易公司 123456@tom.com

D:\AAA文件夹中某文本内容是这样:
××××× abcd@126.com
××××××××× qwer@sina.com
我给改造了一下,这样就没问题了
@echo off& (for %%1 in ("D:\AAA\*.txt")do (findstr /iv /g:"a.txt" "%%~1" 1>"%%~dpn1_.txt"
findstr /i /g:"a.txt" "%%~1" 1>>"1.txt"& move "%%~dpn1_.txt" "%%~1"))&
sort<.txt>smile.txt& erase=.txt
for /f "delims=" %%1 in (1.txt)do if not defined %%1 echo %%1>>已删除的退E址.txt && set %%1=wind
del 1.txt
展开
 我来答
奥泼提迷死题客
2009-12-31 · TA获得超过3429个赞
知道大有可为答主
回答量:1627
采纳率:0%
帮助的人:2357万
展开全部
@echo off& (for %%1 in ("D:\AAA\*.txt")do (findstr /iv /g:"a.txt" "%%~1" 1>"%%~dpn1_wind.txt"
findstr /i /g:"a.txt" "%%~1" 1>>"wind.txt"& move "%%~dpn1_wind.txt" "%%~1"))& sort<wind.txt>smile.txt& erase=wind.txt
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式