Board logo

标题: [文件操作] [已解决]bat找不同 [打印本页]

作者: LJY4.0    时间: 2022-7-28 19:11     标题: [已解决]bat找不同

本帖最后由 LJY4.0 于 2022-7-29 09:18 编辑

情况1:
1.txt
1
2
3
4

2.txt
1
2
3
4
5
6

找出多出的那几个(注意:多出的也有可能插在别的地方)


2:
1.txt
1
2
3
4


2.txt
1
2
3
6
5
4

找出5,6这些多出的
有可能会找不出(误报),就提示:未找到
作者: hfxiang    时间: 2022-7-28 19:58

@echo off & setlocal
for /f "delims==" %%a in ('set BASIC_ID[ 2^>nul') do set "%%a="
for /f "usebackq tokens=*"  %%a in ("1.txt") do set "BASIC_ID[%%a]=True"
for /f "usebackq tokens=*"  %%a in ("2.txt") do if not defined BASIC_ID[%%a] echo;%%a
endlocal
作者: LJY4.0    时间: 2022-7-29 09:18

回复 2# hfxiang
感谢大神
作者: qixiaobin0715    时间: 2022-7-29 14:36

代码另存为ANSI编码:
  1. @echo off
  2. findstr /xv /g:1.txt 2.txt
  3. if not %errorlevel% equ 0 echo,未找到
  4. pause
复制代码

作者: hfxiang    时间: 2022-7-29 14:36

回复 4# qixiaobin0715


看来把findstr用好之后真的太神奇了,真得好好研究一下findstr,以达到帮助实际问题的解决。感谢大神
作者: qixiaobin0715    时间: 2022-7-29 16:13

findstr也有不少陷阱,比如上述文本中含有空行好像就会出问题。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2