首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于递归比较文件夹的Windows脚本

用于递归比较文件夹的Windows脚本
EN

Stack Overflow用户
提问于 2014-02-13 05:19:50
回答 2查看 2.1K关注 0票数 1

我需要windows批处理脚本来递归比较两个文件夹(文件夹A和文件夹B),并只显示在文件夹A中丢失的文件。

我试过了,但它不是递归的:

代码语言:javascript
运行
复制
@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
EN

回答 2

Stack Overflow用户

发布于 2014-02-13 05:36:59

快速检查的方法是尝试以下方法

代码语言:javascript
运行
复制
Cd Folder1
dir *.* /s > Folder1.txt
cd Folder2
dir *.* /s > Folder2.txt

比较两个文本文件以查看文件中的差异

票数 4
EN

Stack Overflow用户

发布于 2014-02-14 06:13:10

您应该使用diff.exe:https://code.google.com/p/unix-cmd-win32/downloads/detail?name=diff.exe&can=2&q=

然后,比较这些树:

代码语言:javascript
运行
复制
@echo off
if "%1" == "" GOTO Usage
if "%2" == "" GOTO Usage
cd /D %1
if errorlevel 1 goto usage
cd /D %2
if errorlevel 1 goto usage

set TEMP1=C:\temp\dir1
set TEMP2=C:\temp\dir2

dir /s %1 > %TEMP1%
dir /s %2 > %TEMP2%
diff.exe %TEMP1% %TEMP2%

del %TEMP1% %TEMP2%

goto end

:usage
echo Usage %0 dir1 dir2
echo where dir1 and dir2 are full paths
:end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21739911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档