티스토리 뷰

아... 오늘 처음 있었던 일이에요.


잘못 받은 폴더를 지우려고 하는데, 오류가 뜨더군요..

이유는 파일 이름이 길어서! 였습니다..

보이시나요... 이건 다중 폴더로 인한 문제가 아니라, 누군가 악의적으로 이렇게 한 경우였습니다.




그래서 방법을 생각해 보았습니다..

이름을 짧게하는건... 뭐 당연히 안되겠죠.

그래도 혹시나 하는 마음에(귀찮은거 싫어해요..) 시도해 보았지만, 역시나 바꿀 수 조차 없습니다.



그렇다면 무슨 방법이 있을까요?

찾던 중에 robocopy 라는 명령어가 있더라구요.


아래와 같은 내용인데요.

https://icantbelieveidothiswithmyfreetime.wordpress.com/2012/02/13/the-source-file-names-are-larger-than-supported-by-the-file-system/


방식은 아래와 같습니다.


> robocopy "빈 폴더" "지우고자하는 폴더 or 파일" /MIR

의미는.. 뭐... 튼튼한(?) 파일 복사이군요?

방식 자체는 이러합니다.


1. 먼저 지우고 싶은 파일이 있는 폴더나, 지우고 싶은 폴더가 있습니다.

2. 빈 폴더를 하나 생성합니다. 혹은 비어있는 폴더가 있으면 됩니다.

3. MIR는 Mirror를 의미하는데 거울처럼 반사해서 1번 폴더의 하위 내용들을 2번 폴더처럼 만들어 버립니다.
   ( 간단한 폴더를 만들어서 테스트 해보세요 :) )



위의 방식을 예시로 보여드리면 아래와 같습니다.

사실 제 파일은 3중 폴더로 되어 있었는데, 폴더명을 줄이기 위해 1로 전부 바꾸었습니다.

바뀌지 않는건.. 너무나 긴 파일명 뿐...




참 쉽죠?

위 표현을 다르게 할 수 있습니다.

만약 CMD에서 기본 디렉토리가 위처럼 C:\ 입니다.

그럴 경우 절대경로가 아니라 상대경로로 아래와 같이 표현할 수 있겠죠.

> robocopy \2 \1 /MIR  

하는 김에 재미로... 2번폴더에 일정 파일들을 넣어놓고 1번 폴더에 MIR 명령을 수행하면,

2번 폴더의 파일들이 1번 폴더에 그대로 복사되어 있음을 알 수 있습니다. (기존 파일들은 모두 사라지구요)


robocopy 의 기타 옵션이나 명령에 대해 궁금하신 분들은

> ROBOCOPY /?

라고 CMD에 입력하시면 됩니다.



댓글
댓글쓰기 폼