我知道有一个类似的帖子:在这里。 我尝试使用它提到的comp命令,但如果我有两个文件,一个具有“abcd”这样的数据,另一个具有“abcde”这样的数据,它只是说文件大小不同。我想知道它们到底有什么不同。在Unix中,简单的diff告诉我哪行和哪列,如果我有“abd”和“abc”之类的东西,windows中的comp命令就可以工作。没有否则。有什么好办法吗?


当前回答

另一种选择是从这里下载并安装git。然后,将Git\bin\的路径添加到path变量中。这不仅会给你diff,还会给你许多其他可以从windows命令行使用的linux命令。

您可以通过右键单击“计算机”并选择“属性”来设置PATH变量。然后单击屏幕左侧的“Advanced System Settings”。在弹出窗口中,单击“环境变量”,然后使用Git\bin\在用户变量中添加或更新PATH变量

Git差异文档

其他回答

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

Winmerge有一个命令行实用程序,可能值得一试。

另外,你也可以使用它的图形部分,这取决于你需要什么。

DiffUtils可能是你最好的选择。它相当于Windows中的diff。

据我所知,没有内置的等价物。

如果你已经在你的机器上安装了git,你可以打开一个git终端,并像往常一样使用Linux diff命令。

另一种选择是从这里下载并安装git。然后,将Git\bin\的路径添加到path变量中。这不仅会给你diff,还会给你许多其他可以从windows命令行使用的linux命令。

您可以通过右键单击“计算机”并选择“属性”来设置PATH变量。然后单击屏幕左侧的“Advanced System Settings”。在弹出窗口中,单击“环境变量”,然后使用Git\bin\在用户变量中添加或更新PATH变量

Git差异文档