我知道有一个类似的帖子:在这里。 我尝试使用它提到的comp命令,但如果我有两个文件,一个具有“abcd”这样的数据,另一个具有“abcde”这样的数据,它只是说文件大小不同。我想知道它们到底有什么不同。在Unix中,简单的diff告诉我哪行和哪列,如果我有“abd”和“abc”之类的东西,windows中的comp命令就可以工作。没有否则。有什么好办法吗?
当前回答
Winmerge有一个命令行实用程序,可能值得一试。
另外,你也可以使用它的图形部分,这取决于你需要什么。
其他回答
DiffUtils可能是你最好的选择。它相当于Windows中的diff。
据我所知,没有内置的等价物。
另一种选择是从这里下载并安装git。然后,将Git\bin\的路径添加到path变量中。这不仅会给你diff,还会给你许多其他可以从windows命令行使用的linux命令。
您可以通过右键单击“计算机”并选择“属性”来设置PATH变量。然后单击屏幕左侧的“Advanced System Settings”。在弹出窗口中,单击“环境变量”,然后使用Git\bin\在用户变量中添加或更新PATH变量
Git差异文档
我不知道下面的工具是不是你所需要的。但对于特定的文件,我喜欢使用一些在线工具。这样,无论操作系统如何,我都可以使用它。这里有一个例子:diffchecker.com
但对于我的需求,我想跟踪项目文件更改和日志的最佳工具是GIT。如果你在一个团队中工作,你可以在你的服务器上进行一些在线回购,或者与Bitbucket或Github一起使用。
希望它能帮助到一些人。
还有Powershell (Windows的一部分)。它不是很快,但很灵活,这是基本的命令。如果您需要更好的格式,人们已经为它编写了各种cmdlet和脚本。
PS C:\Users\Troll> Compare-Object (gc $file1) (gc $file2)
不是Windows的一部分,但如果你是Visual Studio的开发人员,它附带WinDiff(图形化的)
但我个人最喜欢的是BeyondCompare,售价30美元。
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
推荐文章
- 如何创建自己的URL协议?(例如:/ /……)
- 在Windows批处理脚本中格式化日期和时间
- 映射一个网络驱动器供服务使用
- 如何在windows中使用命令提示符(cmd)列出文件。我试过在Linux中使用“ls”,但它显示一个错误?
- Windows上最好的免费c++分析器是什么?
- 如何在Windows上运行多个Python版本
- 运行计划任务的最佳方式
- Windows上Git文件的权限
- 如何同时安装Python 2。3. Python。Windows下的x
- BAT文件执行后保持CMD打开
- 可能改变安卓虚拟设备保存的地方?
- 如何检查DLL依赖关系?
- Android-Facebook应用程序的键散列
- 如何在PowerShell中输出一些东西
- 如何在命令提示符中使用空格?