.bat脚本来比较两个Windows文件夹的内容

时间:2013-06-17 14:13:01

标签: windows batch-file command-line-arguments

我想写一个简短的.bat脚本来比较两个文件夹的内容。

文件夹1:包含大约1300个文件。 文件夹2:包含大约400个文件。

我想有一个脚本我可以通过windows命令行运行,它接受文件夹2中的每个文件检查以查看文件夹1中是否有相同名称的文件...如果是输出的名称文件夹2文件到.csv文件(或记事本我很容易只想要一个列表!)。

非常感谢任何想法或帮助!

2 个答案:

答案 0 :(得分:6)

试试这个

(for %%i in ("folder2\*") do if exist "folder1\%%~nxi" echo(%%~i)>file.csv

答案 1 :(得分:1)

找到一个适用于远程文件夹的解决方案,速度很快

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
set /p computer=Computer Name?:
set pubpath=\\%computer%\c$\docume~1\alluse~1\Desktop\
set results=excluded
set extension=txt
set xlist="ANHLIVE Desktop.lnk" "ANHLIVE EMR.lnk" "ImageNow.lnk" "IMPAX Client.lnk" "Internet Explorer.lnk" "Microsoft Excel 2010.lnk" "Microsoft Outlook 2010.lnk" "Microsoft Word 2010.lnk" "My Documents.lnk" "NextGen.RDP" "RBODowntimeLabel.doc" "desktop.ini"
set xlistcount=12

for /r %pubpath% %%g in (*) do (
    set count=0
    for %%a in (%xlist%) do (
        set /a count=count+1
        set localdir=%%a
        set localdir=!localdir:~1,-1!
        set remotedir=%%g
        set remotedir=!remotedir:%pubpath%=!
        if !localdir!==!remotedir! (
            set count=12
        ) else (
            if !count!==%xlistcount% (
                echo !remotedir! >> %results%.%extension%
            )
        )
    )
)
Echo Complete!
pause