Windows fc忽略输出时没有区别

时间:2017-04-17 14:40:06

标签: windows file batch-file cmd filecompare

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

我希望在FC输出时忽略输出:

Comparing files filename and filename2
FC: no differences encountered

因为它会使输出文件充满不需要的信息。

我该怎么做? 如果可能的话,我可以计算“成功”(我忽略的输出)的数量吗?

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

2 个答案:

答案 0 :(得分:2)

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

   switch($this->yourWay){

       case "abc":  
         //Do something
         ....
         break;

       case "cde":  
         //Do something
         .....
         break;
    } 

如果@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重定向改为>追加一个...... < / p>

答案 1 :(得分:2)

通过将FC输出管道连接到FIND / V或FINDSTR / V,可以轻松完成。查看有关这些命令的帮助。如果您有任何其他问题,请发布您的代码。