当没有差异时如何使用 fc 抑制输出

Ren*_*ger 5 difftool cmd.exe

我想使用 cmd.exe 批处理文件来比较一堆文件fc。不幸的是,fc每对比较文件的报告都表明,如果没有差异,则没有发现任何差异。如何更改该行为,以便在没有差异时保持沉默,并且仅在文件确实不同时报告?

Ren*_*ger 1

可以通过使用||这样的结构来实现:如果左侧命令的退出状态为 0,则仅执行右侧命令。由于fc如果没有发现差异,则该cat命令不会被执行跑步。

fc file1.xyz file2.xyz > c:\temp\fc.out || cat c:\temp\fc.out
Run Code Online (Sandbox Code Playgroud)

如果在批处理文件中使用,@则应在前面添加 a ,以便不回显整行:

@fc %1 %2 > c:\temp\fc.out || cat c:\temp\fc.out
Run Code Online (Sandbox Code Playgroud)