Кто-нибудь знает, как удалить подкаталог в исходном каталоге, которого нет в целевом каталоге, с помощью командной строки Windows?

Кто-нибудь знает, как удалить подкаталог в исходном каталоге, которого нет в целевом каталоге, с помощью командной строки Windows?

Я пытаюсь создать .bat-файл, который синхронизирует файлы и папки, и пока у меня получилось следующее:

xcopy "C:\Users\user pc\Google Drive" "J:\Google drive offline backup" /d /e /f /h /i /j /k /r /s /y /z
for %%F in ("J:\Google drive offline backup\*") do if not exist "C:\Users\user pc\Google Drive\%%~nxF" del "%%~fF"

Это в основном копирует только вновь созданные или измененные файлы или каталоги из исходного каталога в целевой каталог. Затем он удаляет файлы из целевого каталога, которые не существуют в исходном каталоге.

Проблема в том, что мне также хотелось бы знать, как удалить подкаталоги в целевом каталоге, которых нет в исходном каталоге.

Пожалуйста, не ругайте мои коды, если они плохо написаны. Я всего лишь новичок в командной строке.

решение1

Если у вас достаточно новая Windows (>= Windows XP), я рекомендую robocopy. Например:

robocopy "C:\Users\ПК пользователя\Google Диск" "J:\Автономное резервное копирование Google Диска" /MIR

Связанный контент