이름 충돌이 있는 파일을 덮어쓰면서 하위 디렉터리에서 루트 디렉터리로 파일을 이동하는 배치 파일

이름 충돌이 있는 파일을 덮어쓰면서 하위 디렉터리에서 루트 디렉터리로 파일을 이동하는 배치 파일

그래서 도움을 요청하면서 현재 Google 포토의 어수선한 부분을 정리하려고 노력 중입니다. 내 Google 사진 아카이브를 다운로드했으며 그 안에 파일/사진이 포함된 여러 폴더가 있습니다. 폴더의 파일/사진을 정리에 사용하고 있는 휴대용 드라이브의 루트로 이동하는 배치 파일을 작성하려고 합니다.

지금까지 나는 이것을 가지고 있습니다 :

@echo off
for /f "tokens=*" %%f in ('dir /a:-D /s /b') do move "%%f" .
for /f "tokens=*" %%f in ('dir /a:D /s /b') do rd "%%f"

내가 가진 유일한 문제는 잠재적으로 다른 폴더에 동일한 파일 이름을 가진 사진이 있을 수 있으며 덮어쓰고 싶지 않다는 것입니다.

덮어쓰기를 차단하기 위해 이동 명령에 설정할 수 있는 매개변수가 있습니까?

감사해요

답변1

덮어쓰기를 차단하기 위해 이동 명령에 설정할 수 있는 매개변수가 있습니까?

스위치를 사용할 수 있습니다 /-Y(파일을 덮어쓸 때 확인 메시지 활성화).

다음 트릭이 응답 n하므로 이동이 발생하지 않습니다.

echo n|move /-y "%%f" .

노트:

  • 이 트릭은 단일 파일에만 작동하며 와일드카드는 사용할 수 없습니다.

  • 파일이~ 아니다다음 rd명령을 이동하면 다음 오류로 인해 실패합니다.

    The directory is not empty.
    

추가 자료

관련 정보