You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不同目录下正确使用diff命令对比两个文件?

解决PowerShell中diff命令对比跨目录文件的问题

问题根源

PowerShell里的diff是Compare-Object的内置别名,并非Unix系统的GNU diff工具,所以不支持-a、--text这类参数,同时路径处理逻辑和GNU diff有差异,导致跨目录文件对比出错。

解决办法

方法1:使用PowerShell原生命令对比

直接用Compare-Object(或别名diff)配合文件内容读取命令,语法如下:

Compare-Object -ReferenceObject (Get-Content .\file1) -DifferenceObject (Get-Content .\directory\file2)
  • 若要显示所有行(包括内容相同的行),添加-IncludeEqual参数
  • 若需忽略大小写差异,添加-CaseSensitive:$false参数

方法2:使用GNU diff工具

如果习惯用GNU diff的参数,可安装Git for Windows(自带完整GNU工具集),之后在PowerShell中调用完整路径的diff.exe:

& "C:\Program Files\Git\usr\bin\diff.exe" file1 directory/file2 -a

也可以把C:\Program Files\Git\usr\bin添加到系统环境变量PATH中,之后直接输入diff file1 directory/file2 -a即可执行。

额外检查

执行命令前用Get-Location确认当前工作目录,确保file1和directory/file2的相对路径是基于当前目录的正确路径。

内容的提问来源于stack exchange,提问作者DanielTryingToCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:32:02