返回列表 发帖
  1. @echo off
  2. dir /b/s/a-d "e:\abc\*.*">tem.txt
  3. findstr /ivg:tem.txt 1.txt>d:\123\error.txt
  4. for /f "delims=" %%i in ('findstr /ig:1.txt tem.txt') do copy /y "%%i" "d:\123"
  5. del tem.txt
  6. pause
复制代码

TOP

回复 12# guaiwu

1.txt 中有 tem.txt 中没有的

TOP

回复 14# super1129

dir/b/s/a-d "e:\abc\*.*">2.txt
运行上面的,把1.txt 和 2.txt 发附件上来。

TOP

我那个 findstr 确实不行,得另想办法。

TOP

只想到这种嵌套循环对比判断的方法,文件太大则效率不高
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (1.txt) do (
  3. set "num="
  4. for /f "delims=" %%j in (tem.txt) do (
  5. set "var=%%j"
  6. set "str=!var:%%i=!"
  7. if not "!var!"=="!str!" set num=n
  8. )
  9. if not defined num echo %%i
  10. ))>error.txt
  11. start error.txt
复制代码
1

评分人数

TOP

回复 24# guaiwu


batcher 版主的意思是建议你写代码时缩进
否则读你的代码很累
缩进方法,通常是每对括弧内的语句前面都加几个空格或制表符
  1. for /l %%i in (1 1 2) do (
  2. 命令
  3. 命令
  4. for /l %%j in (1 1 2) do (
  5. 命令
  6. 命令
  7. for /l %%j in (1 1 2) do (
  8. 命令
  9. 命令
  10. )
  11. )
  12. )
复制代码

TOP

返回列表