我需要编写一个脚本,以递归方式对 2 个文件夹中的所有文件进行二进制比较。这2个文件夹是安装文件夹,包含相同的文件,但它们是不同版本的安装文件夹。我需要找出哪些文件(.dll
, .lib
, .exe
)相对于以前的版本发生了变化。
我试过使用fc
命令
fc /b %1\* %2\* > result.txt
但是,它只比较指定文件夹内的文件。我需要递归比较所有文件夹中的所有文件。
我认为这可以通过for
循环来实现。
For /r C:\test\%%f in (*) do @fc /b %%f C:\test\%2\%%~nxf > result.txt
这里的问题是%%~nxf
它只给出文件名而不是相对路径。
我尝试使用forfiles
命令:
forfiles /s /p C:\test\%1 /m * /c "cmd /c @fc /b %1\@relpath %2\@relpath"
@relpath
在路径中间引入.\
,这弄乱了我的完整路径。对此的任何指示都将受到高度赞赏。
请帮忙!