0

我在 Windows 下使用FC filename1 filename2 >> myLog.txt(其中myLog.txt存在)命令来比较两个文件。我在循环中使用该命令,以便可以比较多对文件。

我想在输出时忽略FC输出:

Comparing files filename and filename2
FC: no differences encountered

因为它用不需要的信息淹没了输出文件。

我怎样才能做到这一点?如果可能的话,我可以计算比较“成功”(我忽略的输出)的数量吗?

我尝试FC filename1 filename2 2> myLog.txt仅重定向错误流,但它不输出任何内容,这意味着该命令仅输出到标准流。

4

2 回答 2

2

您尚未指定如何“在循环中使用命令,以便我可以比较多对文件”(如何在循环中获取每对文件的第二个文件?),因此您必须相应地修改下面的代码。

@echo off
setlocal

set successfull=0
(for %%a in (filename1*.txt) do (
   FC "%%a" "%%~Na2.txt" > diffs.tmp
   if errorlevel 1 (
      type diffs.tmp
   ) else (
      set /A successfull+=1
   )
)) > C:\other\folder\myLog.txt
del diffs.tmp

echo Successfull compares: %successfull%

如果myLog.txt文件必须随着该程序的每次运行而增长,那么只需通过附加一个来更改>重定向......>>

于 2017-04-17T15:37:56.493 回答
2

通过将 FC 的输出连接到 FIND /V 或 FINDSTR /V 很容易做到。查看这些命令的帮助。如果您还有其他问题,请发布您的代码。

于 2017-04-17T15:38:52.413 回答