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

[文件操作] [已解决]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这些多出的
有可能会找不出(误报),就提示:未找到
https://pc.woozooo.com/mydisk.php

@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

TOP

回复 2# hfxiang
感谢大神
https://pc.woozooo.com/mydisk.php

TOP

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

TOP

回复 4# qixiaobin0715


看来把findstr用好之后真的太神奇了,真得好好研究一下findstr,以达到帮助实际问题的解决。感谢大神

TOP

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

TOP

返回列表