Answers:
在CMD Shell或批处理文件中运行此命令:
FC file1 file2
FC
也可以用来比较二进制文件:
FC /B file1 file2
FC path1\* FC path2\*
如果文件夹(文件)具有相同的名称,则将比较文件夹path1
和中的所有文件path2
。如果存在名称不匹配的文件,FC将报告丢失的文件,但仅报告第一个文件夹中的文件。 。“T在第二个文件夹,而不是倒过来发现抓住所有的不匹配,可能会需要不同的技术。
files in both directories are diff'd; files in only one directory throw errors.
”有趣。但是肯定有一个相当于diff的第三方程序吗?
好吧,我很高兴在Windows上运行diff
其他许多GNU工具。您可以使用cygwin来实现,但是我个人更喜欢GnuWin32,因为它的安装体验要轻得多。
因此,我的回答是Windows等效diff
于diff
本身!
diffutils
。参见cygwin.com/cgi-bin2/…–
Winmerge有一个命令行实用程序,可能值得一试。
同样,您也可以根据需要使用它的图形部分。
另一个选择是从此处下载并安装git 。然后,将路径添加Git\bin\
到PATH
变量。这不仅会给您diff,还可以给您提供许多其他可从Windows命令行使用的linux命令。
您可以PATH
通过右键单击“计算机”并选择“属性” 来设置变量。然后,您可以单击屏幕左侧的高级系统设置。在弹出窗口中,单击环境变量,然后使用以下命令在用户变量中添加或更新PATH变量:Git\bin\
git...
可以从PATH获得可执行文件。此外,答案可能应该包含一条重要信息:您需要通过编写git diff
而不是来启动diff工具diff
。
diff
在我看来,FC工作得很好,因为我只想更改行,所以它没有帮助。FC会提供其他数据,例如文件名,相同的行和双边比较。
>fc data.txt data.txt.bak
***** DATA.TXT
####09
####09
####09
***** DATA.TXT.BAK
####09
####08
####09
但是在我的情况下,我只希望更改的行,并且希望将这些行导出到其他文件,而没有任何其他标头或数据。
所以我用“ findstr”来比较文件:
findstr /V /G:data.txt.bak data.txt >DiffResult.txt
在哪里:
data.txt.bak
是旧文件的名称
data.txt
是新文件的名称
DiffResult.txt
包含已更改的数据,即仅一行#### 09
fc。与Cygwin的diff相比,fc在处理大文件(> 4 GB)方面更好。
出现COMP错误的原因是该实用程序假定您要比较的文件大小相同。为了解决这个问题,您可以使用'/n'
选项,使用该选项可以指定要比较的行数。(通过'comp /?'
在命令行上输入来查看comp支持的选项。因此您的命令应类似于:
C:\>comp "filepath1" "filepath2" /a /l /n=(the number of lines you want to compare) /c
如果您想坚持使用COMP,这应该可以解决您的问题。但这对于很大的文件将是一个问题。
虽然comp
是一个选择,但我认为它是原始的,FC
是更好的选择。如果经常需要,可以使用FORFILES
和FC
一起使它成为一个非常好的文件比较实用程序。
FC以这种方式用于引用:
C:\>fc /c(case insensistive) /lbn(number of errors allowed before you wanna stop compare) /n(display line number) "filename1" "filename2"
有很多可用的选项,'fc /?'
希望对您有所帮助
我发现了一种用于Windows的轻量级图形软件,在缺乏diff
命令的情况下似乎很有用。它可以解决我所有的问题。
与diff命令等效的窗口是fc(文件映射)命令。
这是执行此操作的基本步骤:
1.将两个文件保存在一个文件夹中(示例file1.html和file2.html)
2.启动命令提示符
3.键入fc file1Location file2Location
在同一个上找到了详细的教程:
http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/
我不知道以下工具是否正是您所需要的。但是我喜欢对某些文件使用一些在线工具。这样,无论操作系统如何,我都可以使用它。这是一个示例:diffchecker.com
但是,对于我的需求,我猜想跟踪项目文件更改和日志的最佳工具是GIT。如果您在团队中工作,则可以在自己的服务器上在线存储一些仓库,或者将其与Bitbucket或Github一起使用。
希望它能帮助到别人。
如果您在计算机上安装了git,则可以打开git终端,然后diff
像往常一样使用Linux 命令。