我需要编写一个脚本,以递归方式对 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在路径中间引入.\,这弄乱了我的完整路径。对此的任何指示都将受到高度赞赏。
请帮忙!