我知道有一个类似的帖子:在这里。 我尝试使用它提到的comp命令,但如果我有两个文件,一个具有“abcd”这样的数据,另一个具有“abcde”这样的数据,它只是说文件大小不同。我想知道它们到底有什么不同。在Unix中,简单的diff告诉我哪行和哪列,如果我有“abd”和“abc”之类的东西,windows中的comp命令就可以工作。没有否则。有什么好办法吗?
当前回答
在Windows上,我很乐意运行diff和许多其他GNU工具。你可以用cygwin来做,但我个人更喜欢GnuWin32,因为它的安装体验要轻松得多。
所以,我的答案是,Windows中diff的等效程序,正是diff本身!
其他回答
我不知道下面的工具是不是你所需要的。但对于特定的文件,我喜欢使用一些在线工具。这样,无论操作系统如何,我都可以使用它。这里有一个例子:diffchecker.com
但对于我的需求,我想跟踪项目文件更改和日志的最佳工具是GIT。如果你在一个团队中工作,你可以在你的服务器上进行一些在线回购,或者与Bitbucket或Github一起使用。
希望它能帮助到一些人。
我发现了一个轻量级的windows图形软件,在缺少diff命令的情况下似乎很有用。它能解决我所有的问题。
温迪夫 http://www.grigsoft.com/download-windiff.htm
Winmerge有一个命令行实用程序,可能值得一试。
另外,你也可以使用它的图形部分,这取决于你需要什么。
使用COMP得到错误的原因是该实用程序假定您正在比较的文件具有相同的大小。为了克服这个问题,你可以使用'/n'选项来指定你想要比较的行数。(输入'comp /?在命令行中。 所以你的命令看起来像这样:
C:\>comp "filepath1" "filepath2" /a /l /n=(the number of lines you want to compare) /c
这应该解决你的问题,如果你想坚持使用COMP。但这将是一个真正的大文件的问题。
虽然comp是一个选择,但我觉得它是原始的,FC是一个更好的选择。如果你经常需要一个文件比较工具,你可以使用FORFILES和FC一起制作一个非常好的文件比较工具。
FC用于ref:
C:\>fc /c(case insensistive) /lbn(number of errors allowed before you wanna stop compare) /n(display line number) "filename1" "filename2"
有很多可用的选项,你可以通过“fc /?” 希望这能有所帮助
DiffUtils可能是你最好的选择。它相当于Windows中的diff。
据我所知,没有内置的等价物。
推荐文章
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?
- 使用ImageMagick“Diff”图像
- Git分支之间的视觉差异
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?
- 异步运行Windows批处理文件命令
- 我怎么能显示线在公共(反向差异)?
- XAMPP -端口80被PID 4的“无法打开进程”使用!12
- 为什么git在Windows下记不住我的密码
- Git克隆/拉不断冻结在“存储密钥在缓存?”