Windows fc无差异时忽略输出
Windows fc ignore output when no difference
我在 Windows 下使用 FC filename1 filename2 >> myLog.txt
(其中存在 myLog.txt)命令来比较两个文件。我在循环中使用该命令,因此我可以比较多对文件。
我想在FC
输出时忽略输出:
Comparing files filename and filename2
FC: no differences encountered
因为它用不需要的信息淹没了输出文件。
我该怎么做?
如果可能的话,我可以计算“successfull”(我忽略的输出)比较的次数吗?
我尝试使用 FC filename1 filename2 2> myLog.txt
仅重定向错误流,但它不输出任何内容,这意味着该命令仅输出到标准流。
你没有具体说明你是如何"use the command in a loop so I could compare many pairs of files"(循环中每一对的second文件是怎么得到的?),所以必须修改下面的代码因此。
@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
文件必须随该程序的每个 运行 一起增长,那么只需将 >
重定向更改为 >>
追加一个...
通过管道将 FC 的输出传输到 FIND /V 或 FINDSTR /V 很容易做到。查看这些命令的帮助。如果您还有其他问题,请 post 您的代码。
我在 Windows 下使用 FC filename1 filename2 >> myLog.txt
(其中存在 myLog.txt)命令来比较两个文件。我在循环中使用该命令,因此我可以比较多对文件。
我想在FC
输出时忽略输出:
Comparing files filename and filename2
FC: no differences encountered
因为它用不需要的信息淹没了输出文件。
我该怎么做? 如果可能的话,我可以计算“successfull”(我忽略的输出)比较的次数吗?
我尝试使用 FC filename1 filename2 2> myLog.txt
仅重定向错误流,但它不输出任何内容,这意味着该命令仅输出到标准流。
你没有具体说明你是如何"use the command in a loop so I could compare many pairs of files"(循环中每一对的second文件是怎么得到的?),所以必须修改下面的代码因此。
@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
文件必须随该程序的每个 运行 一起增长,那么只需将 >
重定向更改为 >>
追加一个...
通过管道将 FC 的输出传输到 FIND /V 或 FINDSTR /V 很容易做到。查看这些命令的帮助。如果您还有其他问题,请 post 您的代码。