윈도우즈에서 msvcrt 파일 옮기는 고난의 길
enzoy : 쇠털나날/지식?즐! - 질문과해결 : 2000/07/10 22:21난 아무리 껍따구가 잘 되어 있어도, 기본이 잘 안되있으면 상당히 싫어하는 편이다. (내가 그럴 자격이 있는지는 잘 모르겠지만 말이다.)
하지만, 가끔 윈9x나 탐색기 같은 것들이 내 속을 썪여도, 그냥 세상이 그런거지 뭐, 하고 넘어가고, 많은 것을 안 바라긴 한다.
오늘 내 하드에 차곡차곡 쌓여만 가던 많은 것들을 정리해야만 하는 수준에 부딛히고야 말았는데, 이들을 CD로 뜨기 위한 과정에서 컴퓨터를 3번 도스모드로 리부팅해야했다.
문제의 파일은 Msvcrt??.dll와 ole????.dll 파일들인데, 예전에도 항상 이녀석 때문에 고생을 하곤 했었다. 하지만 난 아직도 윈도우즈 목구녁 안쪽에 대해 박식하지 못해 이문제를 이해할 수가 없어 답답할 뿐이다.
어떤 프로그램의 인스톨레이션안에 저 파일이 있는 경우, 그 디랙토리를 통째로 다른 곳으로 move를 하는 도중에 반드시 "파일이 이미 있다" 고 나오며 move가 중단된다. (그놈의 에러창에는 skip file and resume 같은 것을 할 수 있는 버튼도 없지. -_-;) 물론, 디랙토리를 통째로 새로운 곳에 옮기는 작업이므로, 그곳에 이미 그 파일이 있었을리 없다. 그래서 대상 디랙토리에 가보면 에러가 걸렸던 그 파일이 크기가 0으로 생성이 되어있고, 윈도우즈상에서는 그 파일을 절대 지울수가 없게 된다 (공유위반). 일단, 나는 이런 경우에 도스로 부팅을 해서 수동으로 해당 파일들을 move하고는 다시 재부팅을 하는데, 보통 짜증나는 일이 아니다. 게다가 이런일이 3~4번 일어나야한다면. 욕 나온다.
아마 이미 떠 있는 시스템 상주형의 DLL들의 문제인것 같은데, 그것들이 하드상에서의 상관없는 file move 작업과 무슨 상관이 그어져서 작업을 망쳐야하는 것인지? (그리고, 떠있는 DLL의 원래 위치파일에 대한 체크가 full path가 아닌 파일 이름만으로 하겠다는 의도에 적절한 타당성이 있는 것인지...?)
이거 해결 방법이 없을까? 그니깐, 윈도우즈 상에서 평온하게 file move를 할 수 있는 방법... (리네임하고 옮기고 다시 리네임하고 막 그러면 될까? 이것도 맘에 안들지만.)
씨비-서 (2000/7/11,6:4) enzoy (2000/7/11,17:44) 예인/세인아빠 (2000/7/12,8:41) 청어 (2000/7/16,20:51) 청어 (2000/7/17,11:58) enzoy (2000/8/17,11:58)
enzoy가 거의 정확하게 알고 있는듯 하군.
사용하고 있는 파일의 lock때문에 생기는 증상이다. 에러 메시지가 잘못나오는 것이지...
단, 파일의 이름만으로 lock을 하는 것은 아니니 너무 슬퍼하지는 말도록...
물론, 덕분에 방법도 없지...^^
근데여, 웨 그 이미 뜬넘과 같은 이름의 파일이 move가 안될려면 처음부터 안되지, 지가 같은 이름의 파일을 크기 0으로 짱박아 만들고는 그담에 못하겠다고 배를 쨉니까? 그것이 이해가 안가요 (루틴이 어떻길래 저렇게 될 수가 있나요?). 그렇게 된 후로는 그 크기 0인 파일이 지워지질 않으니 리부팅을 해야하는 짜증이 더하자나요. 맡긴일을 못할거면 걍 못한다고 배째면 용서하지만, 똥을 싸놓고 일을 망쳐놓으니 한대 패고 싶은겁니다만...
윈도우와 리눅스를 같이 쓰고 있는 본인은 그런 류의 작업은 리눅스에서 mv명령으로 끝내버린다. 이기회에 하드 파티션 쬐금 할당해서 리눅스라도 깔아보지 않을련?
1G정도면 되고 사용자 디렉토리는 윈도우파티션 마운트해서 대충 사용해도 될 듯.
왜 윈도우즈에서는 실행파일이 자기 자신을 못지우는가에 대해서 몇가지 방법을 제시한 적이 있다. 전에 MSJ에 나왔었는데 찾아보렴. 이젠 윈도우즈에서 손을 떼어서 기억이 오락가락...
어제 저녁 똑같은 일을 겪었다. 한 드라이브에서 다른 드라이브로 백업 디렉토리를 옮기고 있었는데 msvcrt.dll을 복사하는 과정에서 에러를 내고 멈추더라. 쓰고 있는 파일이 아닌데도 말이다. 아마도 저 파일 이름에 대해서는 특별한 처리를 하고 있는갑다.
아니, 애초에 떠있는 DLL에 관해 Locking check을 할려면 제대로 fullpath name으로 해야하는것이 개념상 옳은 방법이 아닐까요 - -?
Trackback Address :: http://blog.enzoy.pe.kr/trackback/160