返回列表 发帖
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  3. cd.>"%%~ni_2%%~xi"
  4. for /f "useback delims=" %%a in ("%%i") do (
  5. findstr /xc:"%%a" "%%~ni_2%%~xi" 1>nul
  6. if errorlevel 1 (
  7. >>"%%~ni_2%%~xi" echo %%a
  8. )
  9. )
  10. )
  11. pause
复制代码
bat小白,请多指教!谢谢!

TOP

  1. @echo off
  2. for /f "useback delims=" %%i in (`dir /b /a-d *.txt`) do (
  3. setlocal
  4. for /f "useback delims=" %%a in (`sort "%%i"^&echo #@#@#`) do (
  5. if not defined str1 (
  6. set "str1=%%a"
  7. ) else (
  8. set "str2=%%a"
  9. setlocal enabledelayedexpansion
  10. if "!str1!" neq "!str2!" (
  11. >>"%%~ni_2%%~xi" echo !str1!
  12. )
  13. endlocal
  14. set "str1=%%a"
  15. )
  16. )
  17. endlocal
  18. )
  19. pause
复制代码

未过多测试,不知道行不行,文本排序后,将某一行与下一行比较,如果不等,则打印某一行。
排序会改变。
bat小白,请多指教!谢谢!

TOP

返回列表