Pan*_*aju 5 cmd batch-file difference
我想使用 cmd.exe 的fc命令比较 2 个文本文件。但是,它也会打印不匹配行的上方和下方行。我该如何抑制这种行为?
a.txt
32=10500.3000000 31=5252.8095 30=XXXX 75=20170208 00:32:40 6=5252.8095 60=20170208-00:00:03
b.txt
32=10500.3000000 31=5252.8095 30=年 75=20170208 00:32:40 6=5252.8095 60=20170208-00:00:03
命令-fc /l /n /c /t /lb200 a.txt b.txt1
输出 比较文件a.txt和B.TXT
***** a.txt
2:31=5252.8095
3:30=XXXX
4:75=20170208 00:32:40
***** B.TXT
2:31=5252.8095
3: 30=年
4:75=20170208 00:32:40
*****
我想要的是
***** a.txt
3:30=XXXX
***** B.TXT
3: 30=年
*****
您可以以此为起点
@echo off
setlocal enableextensions disabledelayedexpansion
for /f "tokens=1,* delims=: eol=*" %%a in ('
fc /l /n /t /c 1.txt 2.txt
') do (
if defined _%%a (
set "line=%%b"
setlocal enabledelayedexpansion
if not !_%%a!==!line! (
echo(%%a: !_%%a!
echo(%%a: !line!
echo(
)
endlocal
set "_%%a="
) else set "_%%a=%%b"
)
Run Code Online (Sandbox Code Playgroud)
在处理命令的输出时fc,为每个行号定义一个变量。当找到相同的行号时,将变量的内容与新行进行比较,如果它们不同,则回显两行。
| 归档时间: |
|
| 查看次数: |
2214 次 |
| 最近记录: |