0

2 つのフォルダーを再帰的に比較し、不足しているファイルを見つけたいと思います。for ループを使用して 2 つのフォルダーを比較していますが、サブフォルダーを検索できません。誰か助けてくれませんか?

ここに私が試したコードがあります、

@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
4

2 に答える 2

0
@ECHO OFF
SETLOCAL
XCOPY /l /y /d "%~1\*" "%~2\*"|FIND "\"
XCOPY /l /y /d "%~2\*" "%~1\*"|FIND "\"
GOTO :EOF

あるディレクトリにあるが別のディレクトリにないファイルを厳密にリストするわけではありません。それらと、両方に存在するが異なるタイムスタンプを持つものもリストします。

オプションに追加/sして、XCOPYサブディレクトリもスキャンします。

于 2013-07-24T14:43:34.617 に答える