如何使用CLI比较两个列表

时间:2013-08-27 13:27:20

标签: windows powershell scripting command-line-interface

我完全不熟悉脚本,但是想使用Windows CLI比较两个文本文件list1.txt和list2.txt,每个文件都包含一个值列表,并生成一个新的文本文件,其中包含在一个列表但不在另一个列表中。我一直在阅读Powershell,Shell,Batch文件等,但似乎无法弄清楚基础知识。我是否需要下载任何内容才能使用这些语言?或者我如何使用Windows CLI直接比较文件?感谢。

2 个答案:

答案 0 :(得分:3)

这在PowerShell中是非常可行的,它预装在Windows 7+中,并且可以轻松添加到Vista或更低版本中 - 在Google上查找一些初学者的PowerShell信息。您将要使用Get-ContentCompare-Object,然后使用Where-Object来选择您关注的差异指标。祝你好运!

答案 1 :(得分:0)

要在常规Windows shell中执行此操作,只需执行以下操作:

for /f "delims=" %A in (list1.txt) do @find "%A" "list2.txt" >nul2>nul || echo.%A>>list3.txt

或者如果您将其放在批处理文件中,请将%符号加倍。

for /f "delims=" %%A in (list1.txt) do @find "%%A" "list2.txt" >nul2>nul || echo.%%A>>list3.txt

这将为list1.txt中的所有行提供list2.txt中不存在的行,并将它们保存到名为list3.txt的文件中。