包括子文件夹?

问题描述 投票:0回答:1

我想制作一个 BAT 脚本,它检查 2 个文件夹以查看它们中是否存在相同的文件。 这现在正在工作,但我不知道如何做到这一点,它包括文件夹中的所有子文件夹。

@echo off
setlocal

set "ordner1=C:\Users\Administrator\Desktop\test1"
set "ordner2=C:\Users\Administrator\Desktop\test2"

echo Dateien, die in %ordner2% fehlen:
setlocal enabledelayedexpansion
for %%f in ("%ordner1%\*") do (
    if not exist "%ordner2%\%%~nxf" (
        echo %%~nxf
        set "fehlende_dateien=!fehlende_dateien! %%~nxf"
    )
)
endlocal & set "fehlende_dateien=%fehlende_dateien%"

echo Dateien, die in %ordner1% fehlen:
setlocal enabledelayedexpansion
for %%f in ("%ordner2%\*") do (
    if not exist "%ordner1%\%%~nxf" (
        echo %%~nxf
        set "fehlende_dateien=!fehlende_dateien! %%~nxf"
    )
)
endlocal & set "fehlende_dateien=%fehlende_dateien%"

set /p kopieren="Willst du die fehlenden Dateien kopieren? (ja/nein): "

if /i "%kopieren%"=="ja" (
    for %%d in (%fehlende_dateien%) do (
        copy "%ordner1%\%%d" "%ordner2%\%%d"
    )
)

pause

endlocal
for-loop batch-file subdirectory
1个回答
0
投票

为了同步 Windows 目录,您不需要一个一个地循环文件。这可以很容易地处理,使用 xcopyrobocopy.

© www.soinside.com 2019 - 2024. All rights reserved.