生活哲学

Windows 中的 Fc 命令

fc 命令比较两个文件或文件集合并显示它们之间的差异。关于如何使用该命令的示例,请参见下面的示例。

命令语法 fc

 fc/a [/c] [/l] [/lb] [/n] [/off[line]] [/t] [/u] [/w ] [/] [:][] [:][] fc/b [][] [][] 

参数

参数 说明/a ASCII 比较的缩写输出。 fc 命令不显示所有不同的行,而是只显示第一行,最后给每个集合一个差异。/b 以二进制模式比较两个文件,一次一个字节,发现差异后不要尝试重新同步文件。默认情况下将比较具有以下扩展名的文件:.exe、.com、.sys、.obj、.lib 或.bin。/c 忽略大写或小写字母。/l 以ASCII方式逐行比较文件,发现差异后尝试同步文件。这是比较文件的默认模式,具有以下扩展名的文件除外:.exe、.com、.sys、.obj、.lib 或.bin。/lb 设置自助餐内行的行数为N。自助餐的默认长度通常为100行。如果您要比较的文件连续有 100 多个不同的行,则 fc 命令将取消比较。/n 比较 ASCII 时显示行号。/off [line] 不要忽略设置了脱机属性的文件。/t 防止 fc 命令将制表符转换为空格。默认行为是将制表符处理为空格,在第八个字符位置停止。/u 将文件作为 Unicode 文本文件进行比较。/w 比较压缩空格(即制表符和空格)。如果一行包含多个空格或连续的制表符,/w 将这些字符视为空格。当与 /w 一起使用时, fc 命令会忽略行首和行尾的空格。/在fc命令认为要重新同步文件之前,指定连续行数必须与以下不符合项匹配。如果文件中的匹配行数小于 NNNN,命令 fc 将显示适当的行作为差异。默认值为 2。 [:] [] 指定要比较的第一个文件或文件集的位置和名称。 FileName1 是必需的。 [:] [] 指定要比较的第二个文件或文件集的位置和名称。 FileName2 是必需的。/?在命令提示符处显示帮助。

注意

  1. 此命令由 c:WINDOWSfc.exe 执行。 您可以在 PowerShell 中使用此命令,但请务必写入完整的可执行文件名 (fc.exe),因为 'fc' 是Format-Custom 的首字母缩写词。
  2. 报告文件之间的差异以进行 ASCII 比较:当您使用 fc 命令比较 ASCII 时,fc 按以下顺序显示两个文件之间的差异:
    1. 第一个文件的名称
    2. FileName1
    3. 中的文件之间的行不同
    4. 第一行匹配两个文件
    5. 第二个文件的名称
    6. FileName2
    7. 中的文件之间的行不同
    8. 第一行匹配
  3. 使用 /b 进行二元比较

/b 显示了在根据以下语法比较二进制文件时发现的差异:

 

XXXXXXXX 的值表示字节对的相对十六进制地址,从文件开头计算。地址从00000000开始。YY和ZZ的十六进制值分别代表FileName1FileName2,中不匹配的字节。

  1. 使用通配符

您可以在 FileName1FileName2 中使用通配符(*?). 如果您在 FileName1 中使用通配符, fc 会将所有指定文件与 FileName2 指定的文件或文件集进行比较。 如果您在 FileName2 中使用通配符, fc 使用来自 FileName1 的对应值。

  1. 使用内存

比较 ASCII 文件时,fc 使用内部缓冲区(大到足以容纳 100 行)作为内存。如果文件大于自助餐,fc 将比较它可以加载到自助餐中的内容。如果 fc 在文件的加载部分中找不到匹配项,它将停止并显示以下消息:

 重新同步失败。文件太不一样了。 

比较大于可用内存的二进制文件时,fc 会完全比较两个文件,将内存部分叠加到驱动器中的序列上。输出与文件的输出相同以完美匹配在内存中。

例如

对于两个文本文件Monthly.rptSales.rpt的ASCII比较,并以缩写形式显示结果格式,输入:

 fc/amonthly.rpt sales.rpt 

要比较批处理的二进制文件,Profits.batEarnings.bat,输入:

 fc/b profit.batincome.bat 

结果类似如下:

 00000002: 72 43 00000004: 65 3A 0000000E: 56 92。..000005E8: 00 6E FC: Earnings.bat 比 Profits.bat 长 

如果 Profits.batEarnings.bat 文件相同,fc 会显示以下内容留言:

 比较文件 Profits.bat 和 Earnings.bat FC:没有发现差异 

要将当前目录下的所有.bat文件与New.bat文件进行比较,输入:

 fc *.bat new.bat 

要将驱动器 C 上的 New.bat 文件与驱动器 D 上的 New.bat 文件进行比较,请输入:

 fc c:new.bat d:*.bat 

比较C盘根目录下的每个批处理文件和D盘根目录下的同名文件,输入:

 fc c:*.bat d:*.bat 

查看更多:

  1. Windows 中的火锅命令
  2. Windows 中的 Forfiles 命令
  3. Windows 中的 Ftype 命令

相关资讯

评论

回复