求批处理:怎样从文本提取特定字符串(并删除)输出到新文本?
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 展开
例如:
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 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询