2

我对脚本完全陌生,但想使用 Windows CLI 比较两个文本文件 list1.txt 和 list2.txt,每个文件都包含一个值列表,并生成一个新的文本文件,其中包含在一个列表中找到的值但不在另一个。我一直在阅读有关 Powershell、Shell、批处理文件等的信息,但似乎无法弄清楚基础知识。我需要下载任何东西才能使用这些语言吗?或者如何使用 Windows CLI 直接比较文件?谢谢。

4

2 回答 2

3

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

于 2013-08-27T14:34:35.330 回答
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 的文件中。

于 2013-08-27T18:01:12.833 回答