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\사용자 PC\Google 드라이브" "J:\Google 드라이브 오프라인 백업" /MIR

관련 정보