Bat文件来比较文件夹

时间:2018-01-25 11:10:03

标签: batch-file

我希望创建一个bat文件,将dir命令中的本地文件夹与服务器上的文件夹进行比较,然后删除服务器上不存在的本地文件夹。此外,它存在包含空格的目录问题,但我还没有考虑过这个问题。

我当前的代码无法正常运行。有人可以提供一些指导吗?

代码:

{{1}}

2 个答案:

答案 0 :(得分:1)

我使用以下内容比较不同文件夹中的文件,并从第一个文件夹中删除第二个文件夹中不存在的文件。通过一些调整,你可以使用与文件夹类似的东西而不是文件。这基于FC,您必须提供两个绝对路径:

echo off   
set "Folder1=path\to\Folder1"
set "Folder2=path\to\Folder2"

for /f "delims=" %%F in ('dir /b "%folder2%"') do (
    if not exist "%folder1%\%%F" (
        fc /b "%folder1%\%%F" "%folder2%\%%F"
        if "%errorlevel%" EQU "1" (
            del "%folder1%\%%F" && echo Deleted "%%F"
        )
    ) else (
        del "%folder1%\%%F" && echo Deleted "%%F"
    )
)
pause
Exit

答案 1 :(得分:0)

您应该查看robocopy命令。我认为robocopy _source_ _target_ /purge完全符合您的要求。