[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

20元求批处理提取2.txt在1.txt中没有的行

报酬20元人民币
提取2txt在1txt中没有的行
手上有个能用的,但是速度太慢了,我有几百万数据需要处理
微信付款:18971801994


这有个示例:
  1. @echo off
  2. cls
  3. echo.
  4. echo.
  5. echo                            比较文本提取不重复
  6. echo,
  7. echo        如有:1.txt 2.txt,提取2.txt在1.txt里没有的行
  8. echo        文本2.txt应当比1.txt多一些内容。
  9. echo        重复的不要
  10. echo.
  11. set /p wb1=请输入要处理的[路径]文本2:
  12. set /p wb2=请输入要处理的[路径]文本1:
  13. set /p wb3=请输入处理后生成的[路径]文本:
  14. for /f "delims=" %%c in (%wb1%) do (
  15. findstr "%%c" %wb2%>nul ||echo %%c>>%wb3%)
  16. echo 处理完成
  17. ping /n 2 127.0.1 >nul
  18. goto :eof
复制代码

已处理,各位老铁

TOP

回复 3# Batcher


    @echo off
cd /d "%~dp0"
set  wb1=1.txt
set  wb2=2.txt
set  wb3=3.txt
powershell ^
    $dict=New-Object 'System.Collections.Generic.Dictionary[[string],[int]]';^
    $text1=[IO.File]::ReadAllText('%wb1%', [Text.Encoding]:efault).split(\"`r`n\",[StringSplitOptions]::RemoveEmptyEntries);^
    $text2=[IO.File]::ReadAllText('%wb2%', [Text.Encoding]::Default).split(\"`r`n\",[StringSplitOptions]::RemoveEmptyEntries);^
    $fs=New-Object System.IO.FileStream('%wb3%', [System.IO.FileMode]::Create);^
    $sw=New-Object System.IO.StreamWriter($fs, [Text.Encoding]::Default);^
    for($i=0;$i -lt $text1.length;$i++){^
        if(-not $dict.ContainsKey($text1[$i])){^
            $dict.add($text1[$i],1);^
        };^
    };^
    for($i=0;$i -lt $text2.length;$i++){^
        if(-not $dict.ContainsKey($text2[$i])){^
            $sw.WriteLine($text2[$i]);^
        };^
    };^
    $sw.Flush();^
    $sw.Close();^
    $fs.Close();^
    $sw.Dispose();^
    $fs.Dispose();
pause

TOP

@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

TOP

屌的一比,牛逼牛逼

TOP

返回列表