comp
Winmerge有一个命令行实用程序,可能值得一试。
另外,你也可以使用它的图形部分,这取决于你需要什么。
你要可能是你最好的选择。它相当于Windows中的diff。
据我所知,没有内置的等价物。
在CMD shell或批处理文件中运行:
FC file1 file2
FC也可以用来比较二进制文件:
FC
FC /B file1 file2
好吧,在Windows上,我很高兴地运行diff和许多其他GNU工具。你可以用cygwin来做,但我个人更喜欢GnuWin32,因为它的安装体验要轻松得多。
diff
所以,我的答案是,在Windows中,diff的等效对象不是别人,正是diff本身!
fc。fc在处理大文件(> 4gbytes)方面比Cygwin的diff更好。
还有Powershell (Windows的一部分)。它不是很快,但很灵活,这是基本的命令。如果您需要更好的格式,人们已经为它编写了各种cmdlet和脚本。
PS C:\Users\Troll> Compare-Object (gc $file1) (gc $file2)
不是Windows的一部分,但如果你是Visual Studio的开发人员,它附带WinDiff(图形化的)
但我个人最喜欢的是BeyondCompare,售价30美元。
另一种方法是从在这里下载并安装git。然后,将Git\bin\的路径添加到你的PATH变量中。这不仅会给你diff,还会给你许多其他可以从windows命令行使用的linux命令。
Git\bin\
PATH
你可以通过右键单击“计算机”并选择“属性”来设置PATH变量。然后单击屏幕左侧的“Advanced System Settings”。在弹出窗口中,单击“环境变量”,然后使用Git\bin\在用户变量中添加或更新PATH变量
Git diff文档
'/n'
'comp /?'
C:\>comp "filepath1" "filepath2" /a /l /n=(the number of lines you want to compare) /c
这应该解决你的问题,如果你想坚持使用COMP。但这将是一个真正的大文件的问题。
虽然comp是一个选项,但我觉得它是原始的,FC是一个更好的选择。你可以一起使用FORFILES和FC,如果你经常需要一个文件比较工具的话,这可能是一个非常好的文件比较工具。
FORFILES
FC用于ref:
C:\>fc /c(case insensistive) /lbn(number of errors allowed before you wanna stop compare) /n(display line number) "filename1" "filename2"
有很多可用的选项,你可以通过'fc /?'看到 希望这对你有所帮助
'fc /?'
FC工作在我的情况下,它是没有帮助的,因为我只是想改变的行。而FC提供了额外的数据,如文件名,相同的行和双边比较。
>fc data.txt data.txt.bak ***** DATA.TXT ####09 ####09 ####09 ***** DATA.TXT.BAK ####09 ####08 ####09
但在我的情况下,我只想要已经改变的行,并希望这些行被导出到不同的文件,没有任何其他头或数据。
所以我使用“中”来比较文件:
findstr /V /G:data.txt.bak data.txt >DiffResult.txt
地点:
data.txt.bak是旧文件的名称
data.txt.bak
data.txt是新文件的名称
data.txt
DiffResult.txt包含被更改的数据,即只有一行####09
DiffResult.txt
在windows中,相当于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一起使用。
希望它能帮助到一些人。
我发现了一个轻量级的windows图形软件,在缺少diff命令时似乎很有用。它能解决我所有的问题。
WinDiff http://www.grigsoft.com/download-windiff.htm
如果你已经在你的机器上安装了git,你可以打开一个git终端,像往常一样使用Linux diff命令。