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\user pc\Google Drive" "J:\Google ドライブ オフライン バックアップ" /MIR

関連情報