本帖最后由 cjiabing 于 2011-8-26 17:39 编辑
提供一些我收藏的,各种方法都有,自己修改下。
- @echo off
- cls
- echo 过滤文本重复行——把重复的归为一个,其余的删除
- echo.
- set /p wb=文本1
- set /p wb1=文本2
- for /f "delims=" %%i in (%wb%) do (
- if not defined %%i set %%i=A & echo %%i>>%wb1%
- )
- echo 处理完成
- ping /n 2 127.0.1 >nul
- goto :eof
复制代码
-
- @echo off
- setlocal enabledelayedexpansion
- echo 提取文本重复行——只要重复的部分,不重复的不要
- echo.
- set /p wb=请输入要处理的[路径]文本:
- set /p wb1=请输入处理后生成的[路径]文本:
- for /f "delims=" %%a in ('sort %wb%') do (
- if %%a equ !b! echo %%a>>%wb1%
- set b=%%a)
- echo 处理完成
- ping /n 2 127.0.1 >nul
- goto :eof
复制代码
- @echo off
- cls
- echo 比较文本提取重复行
- echo,
- echo (如有:1.txt 2.txt 提取1.txt在2.txt里出现的行)
- echo.
- set /p wb1=请输入要处理的[路径]文本1:
- set /p wb2=请输入要处理的[路径]文本2:
- set /p wb3=请输入处理后生成的[路径]文本:
- for /f "delims=" %%c in (%wb1%) do (
- findstr "%%c" %wb2%>nul &&echo %%c>>%wb3%)
- echo 处理完成
- ping /n 2 127.0.1 >nul
- goto :eof
复制代码
-
- @echo off
- cls
- echo.
- echo.
- echo 比较文本提取不重复
- echo,
- echo 如有:1.txt 2.txt,提取2.txt在1.txt里没有的行
- echo 文本2.txt应当比1.txt多一些内容。
- echo 重复的不要
- echo.
- set /p wb1=请输入要处理的[路径]文本2:
- set /p wb2=请输入要处理的[路径]文本1:
- set /p wb3=请输入处理后生成的[路径]文本:
- for /f "delims=" %%c in (%wb1%) do (
- findstr "%%c" %wb2%>nul ||echo %%c>>%wb3%)
- echo 处理完成
- ping /n 2 127.0.1 >nul
- goto :eof
复制代码
-
- @echo off
- setlocal enabledelayedexpansion
- echo 提取文本重复行——只要重复的部分,不重复的不要
- echo.
- set /p wb=请输入要处理的[路径]文本:
- set /p wb1=请输入处理后生成的[路径]文本:
- for /f "delims=" %%a in ('sort %wb%') do (
- if not %%a equ !b! echo %%a>>%wb1%
- set b=%%a)
- echo 处理完成
- ping /n 2 127.0.1 >nul
- goto :eof
复制代码
|