我将有2个目录,folder1具有设置文件列表,folder2具有相同的设置文件列表但具有更多文件。我需要获取folder2的“其他文件”
是否存在类似文件比较(fc)的目录以返回差异?
编辑我目前正在使用dir
创建2个列表,然后进行文件比较。现在我只需要解析fc
的输出只包含文件名。
fc /a "C:\whatever\text1.txt" "C:\whatever\text2.txt" >> "C:\whatever\differences.txt"
答案 0 :(得分:5)
<强>批处理文件强>
@echo off
if "%2" == "" GOTO Usage
cd /D %1
if errorlevel 1 goto usage
for %%x in (*.*) do if NOT exist %2\%%x echo missing %2\%%x
cd /D %2
for %%x in (*.*) do if NOT exist %1\%%x echo missing %1\%%x
goto end
:usage
echo Usage %0 dir1 dir2
echo where dir1 and dir2 are full paths
:end
<强>用法强>
环境:
F:\so>dir /s dir1 dir2
Volume in drive F is WIN2K
Volume Serial Number is 921E-EC47
Directory of F:\so\dir1
2010-11-22 10:33 <DIR> .
2010-11-22 10:33 <DIR> ..
2010-11-22 10:33 13 a
2010-11-22 10:33 13 b
2010-11-22 10:33 13 c
3 File(s) 39 bytes
Directory of F:\so\dir2
2010-11-22 10:33 <DIR> .
2010-11-22 10:33 <DIR> ..
2010-11-22 10:33 13 a
2010-11-22 10:33 13 b
2010-11-22 10:33 13 c
2010-11-22 10:33 13 D
2010-11-22 10:33 13 E
5 File(s) 65 bytes
Total Files Listed:
5 File(s) 65 bytes
2 Dir(s) 219,848,704 bytes free
F:\so>
运行:
F:\so\dir1>dirc f:\so\dir1 f:\so\dir2
F:\so\dir1>dirc f:\so\dir1 f:\so\dir2
missing f:\so\dir1\D
missing f:\so\dir1\E
F:\so\dir2>
答案 1 :(得分:2)
首先在两个文件夹上执行dir /s
。然后使用fc /a
来比较结果。
对于比这更好的东西(根据您的需要),您需要一个专门的工具。例如,请查看Windiff
或WinMerge
。