본문 바로가기
Tips!? Tips!!

삭제되지 않는 폴더나 파일 직접 삭제 하기

by cafrisun 2010. 8. 4.
 
윈도우를 사용하다 보면 파일이나 폴더가 삭제되지 않고, 
"폴더를 제거할 수 없습니다. 다른 사람이나 다른 프로그램에서 사용하고 있습니다. 사용 중인 파일을 닫고 다시 시도하십시오." 
라는 메시지를 만나는 경우가 간혹 있다. 이런 경우 대부분 컴퓨터를 껏다가 다시 켜면 해결이 되긴 하지만, 
은근 신경쓰이게 하는 상황이 된다.

대부분의 이유는 윈도우의 explorer.exe (윈도우 탐색기) 프로세서에서 해당 핸들을 잡고 있는 경우가 발생한다. 
(윈도우버그중 하나) 
이런 경우 해당 핸들을 강제로 종료 시켜주는 프로그램을 찾아보면 몇가지 있는데, 
여기서 원인이 무엇인지 추론을 해보았으면, 직접 찾아서 지워보는 것도 재밌을듯..(아닌가?!;;)

자, 그럴려면 우선 어떤 친구가 내가 지울려는 파일이나 폴더의 핸들을 잡고 있는지(사용 중인지) 찾아보려는 툴이
필요할테고, 그 다음으로는 그 해당하는 프로세서에서 그 핸들만 종료시켜주는 툴이 필요하다.

www.sysinternals.com 이라는 곳에서 윈도우에 필요한 작고 괜찮은 유틸 프로그램들을 제공하였었는데,
어느날 Microsoft로 인수 되었나보다. Microsoft에서 서비스하고 있다. -> Windows Sysinternals

여기서 필요한 것은
*. FileMon (file monitor) -> handle을 가지고 있는 프로세스를 찾기 위해 사용. 
(이게 이제는 2006년 부터 Process Monitor로 바뀌었답니다...;;)
*. Process explorer -> 해당 프로세스에서 핸들을 종료하기 위해 사용.


1. 폴더가 지워지지 않는 케이스 발생~ (이 경우에는 M6R2 라는 파일이 안지워지는 경우)



2. FileMon 또는 Process Monitor로 어떤 프로세스가 사용중인지 확인.(여기선 FileMon 사용)

여기서 보면 예상대로 explorer.exe라는 1852 PID(process ID)를 가지고 있는 녀석(?)이 사용중인 것으로 나옵니다.


3. 이제 해당하는 process에서 해당 핸들을 종료 해봅시다.

해당 프로세스에서 해당 핸들을 찾아서 Close Handle로 핸들을 종료.

이제 해당 폴더를 삭제 해보면 잘 지워진다~ :-)
반응형

'Tips!? Tips!!' 카테고리의 다른 글

ASCII Table  (0) 2010.10.01
CDMA 약어 정리  (0) 2010.07.26
Microsoft Visual Studio 2005 or 2008 Clear type font 설치..  (0) 2010.06.18