【发布时间】:2012-03-17 23:56:35
【问题描述】:
我需要做的是用DOS命令比较CMD中不同文件的两个文件夹。
当我发现不完全相同的文件时,我需要将它们写入具有完整路径的 .txt 文件中,以便找出这些文件的实际包含位置。
那么我该如何实现呢?
【问题讨论】:
标签: file comparison cmd directory
我需要做的是用DOS命令比较CMD中不同文件的两个文件夹。
当我发现不完全相同的文件时,我需要将它们写入具有完整路径的 .txt 文件中,以便找出这些文件的实际包含位置。
那么我该如何实现呢?
【问题讨论】:
标签: file comparison cmd directory
您可以使用comp 命令:
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/comp
comp C:\PathA\A C:\PathB\B > C:\Comparison\comparison-between-A-B.txt
【讨论】:
comp dir1 dir2 > output.txt
dir >D:\dir.txt 将dir 的输出打印到D:\dir.txt 文件而不是屏幕上。你也可以试试comp:comp … >comp_results.txt。
对于那些可能对comp 命令有问题的人来说,这只是另一种方法..
使用 comp 我遇到了一些问题,所以我找到了另一个解决方案:
dir D:\Projects\Comparison\YourFolder\ > D:\Projects\Comparison\filelist-you.txt
所以这会创建一个文件夹的文件列表,而不是我在要比较的第二个文件夹上做的相同..
dir D:\Projects\Comparison\MyFolder\ > D:\Projects\Comparison\filelist-me.txt
我将它们与这段代码进行比较:
fc D:\Projects\Comparison\filelist-you.txt D:\Projects\Comparison\filelist-me.txt
给出真实的结果..
在这一步之前一切都很好,但我不知道如何将这些比较结果放入新的 .txt 文件中。
我意识到(“在@vulkanino 的帮助下”)我已经得到了dir path1 > intopath2 的答案,所以解决方案是:
fc D:\Projects\Comparison\filelist-you.txt D:\Projects\Comparison\filelist-me.txt > D:\Projects\Comparison\filelist-comparison-between-you-me.txt
“>”是一个输出命令,将输出定向到确定的路径。
【讨论】:
DIR /B 而不仅仅是DIR。
如果您要清点的目录包括文件和其他子目录,那么您必须使用 /S 开关才能“获取”输出中的所有内容。
【讨论】: