Microsoft MVP성태의 닷넷 이야기
c# 인터넷 임시 파일 삭제 문의 [링크 복사], [링크+제목 복사]
조회: 23289
글쓴 사람
아로스 (isrule at gmail.com)
홈페이지
첨부 파일
(연관된 글이 1개 있습니다.)

안녕하세요.

c#으로 인터넷 임시 파일을 삭제할려고 하는데 진행이 되지 않아서 질문을 드립니다.

개발환경: windows8.1, visual 2013

먼저, 익스플로러상단 메뉴 도구 > 인터넷옵션 > 설정 > 파일보기 클릭해서 보이는 파일 리스트와 직접 탐색기로 찾아 들어갔을 때 파일 리스트가 틀립니다.
왜 틀릴까요?^^

c# 프로그램으로 접근했을때 인터넷옵션에서 나오는 리스트가 나오는게 아니라 탐색기로 찾아 들어갔을때 리스트가 보입니다.

탐색기로 확인되는 파일은 파일로 첨부했습니다.

제가 삭제하고 싶은건 인터넷 옵션으로 찾아 들어갔을 때 보이는 파일 리스트만 삭제를 하면됩니다.

어떻게 삭제를 하면 되는지 조언 좀 부탁드립니다.


아래 개발 소스입니다.


    class cache
    {
        static void Main(string[] args)
        {
            new cache().clearIECache();
        }

        public void clearIECache()
        {
            ClearFolder(new DirectoryInfo(Environment.GetFolderPath(System.Environment.SpecialFolder.InternetCache)));
        }

        public void ClearFolder(DirectoryInfo folder)
        {
            foreach(FileInfo file in folder.GetFiles())
            {
                try
                {
                    file.Delete();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message.ToString());
                }
                finally
                { }
    
            }
                         
            foreach(DirectoryInfo subfilder in folder.GetDirectories())
            {
                ClearFolder(subfilder);
            }

        }
    }


[연관 글]






[최초 등록일: ]
[최종 수정일: 7/28/2014]


비밀번호

댓글 작성자
 



2014-07-28 12시01분
"Tools" / "Internet Options" 메뉴를 실행해 "General" 탭의 "Settings" 버튼을 눌러 나오는 "Current location:"의 위치가 제 경우에 다음과 같습니다.

c:\users\[사용자 계정]\AppData\Local\Microsoft\Windows\INetCache

그런데, Environment.GetFolderPath(Environment.SpecialFolder.InternetCache) 코드로 얻은 경로도 그와 동일합니다. 어떻게 다른지 혹시 더 설명을 해주실 수 있을까요?
정성태
2014-07-29 01시30분
[아로스] 답변 감사합니다.

화면 캡쳐해서 올렸습니다.

http://aroskr.tistory.com/123

2가지 이미지 모두 c:\users\[사용자 계정]\AppData\Local\Microsoft\Windows\INetCache 경로인데
확인되는 파일 리스트는 틀립니다.

접근 방법이 틀린 차이점이 있지만 접근 방법이 틀리다고 파일 리스트가 다르게 보이는건 이해가 안가는 부분입니다.

프로그램으로 해당 디렉토리로 접근해서 파일리스트를 확인하면 탐색기로 접근했을 때 파일 리스트가 확인됩니다.

저는 익스플로러상단 메뉴 도구 > 인터넷옵션 > 설정 > 파일보기 클릭해서 보이는 파일 모두 삭제하고 싶거든요.

답변 부탁드립니다.^^
[guest]
2014-07-29 02시07분
[ryujh] 안녕하세요. 홈페이지에 가서 캡쳐화면을 보니까
탐색기로 직접접근시 Virtualized 폴더가 보이네요. 이 폴더가 아마도 IE에서 옵션으로 접근시 뜨는 폴더와 관련이 있을 것으로 봅니다.


이것과는 다른 예이지만

C:\users\<사용자 계정>\AppData\Local\VirtualStore\ 가 있는데 이것이 탐색기에서는 C:\ 로 인식하는 경우가 있습니다.

즉 C:\Program Files\... 이렇게 프로그램이나 설정파일이 존재한다면 C:\users\<사용자 계정>\AppData\Local\VirtualStore\Program Files\... 이렇다는 것입니다.

C# 프로그램을 실행한 계정과 IE를 실행한 계정이 폴더 접근이 다르다고 생각할 수 있을 것입니다.

http: //www.symantec.com/connect/articles/folder-virtualization-concepts-windows-vista

관련된 글 링크입니다. 읽지는 않았지만 이런 것도 있다는 것을 알려드립니다.

감사합니다.


[guest]
2014-07-29 02시22분
[ryujh] 안녕하세요. 추가로 알려드리자면 화면 캡쳐에서 IE 통해서 본것과 직접 탐색기에서 본것이 있는데

직접 탐색기에서 본것에서 Content.IE5 하위폴더가 여러개 있으며 그곳에 IE 통해서 본 파일들이 분산되어있습니다.

실제 C#에서 삭제하려면 Content.IE5 하위폴더를 삭제해보십시오.



[guest]
2014-07-29 03시59분
INetCache는 이런 경우 특수한 뷰를 가지고 있습니다. 이 뷰는 desktop.ini 파일 덕분인데요. 아마도 위의 닷넷 코드를 실행하면서 desktop.ini 파일이 INetCache에서 삭제되었기 때문에 탐색기에서 그런 식으로 보이는 것 같습니다. 근데 이상하군요. 제가 테스트 해보니까 IE의 "Internet Options" 메뉴를 통해 보게 되면 다시 자동으로 desktop.ini가 생성되기 때문에 그 이후로는 문제가 없습니다.

어쨌든, 일단 cmd.exe 창을 띄워서 c:\users\[사용자 계정]\AppData\Local\Microsoft\Windows\INetCache 경로로 이동한 다음 "dir /a" 명령을 통해 desktop.ini 파일이 해당 폴더에 있는지 검삭해 보세요.

그리고, 만약 있다면 그 파일의 내용을 복사해서 덧글에 좀 올려주세요. 확인이 필요할 것 같습니다.
정성태
2014-07-30 01시07분
[아로스] 답변 감사합니다.

Virtualized, Content.IE5 두개 폴더를 직접 삭제하고 확인해보았지만 파일이 삭제되지 않았습니다.

c:\users\[사용자 계정]\AppData\Local\Microsoft\Windows\INetCache 경로에 있는 desktop.ini 파일 내용입니다.

[.ShellClassInfo]
ConfirmFileOp=0
UICLSID={7BD29E00-76C1-11CF-9DD0-00A0C9034933}






[guest]
2014-07-30 01시50분
특이한 경우군요. desktop.ini가 있는데도 INetCache가 원본 상태 그대로 탐색기에서 보여진다고 하시니. 해당 사항이 제 컴퓨터 및 테스트 컴퓨터에서는 재현이 안되는데다 웹 검색을 해봐도 딱히 그와 유사한 이야기가 없어서 더 이상 답변이 불가능합니다. 어쩔 수 없이 재현이 가능한 아로스님이 그 원인을 밝혀서 공개해 주셔야 할 것 같습니다. ^^;
정성태
2014-07-31 01시32분
[아로스]

그렇군요ㅜㅜ

해결하면 답변 올리도록 하겠습니다.^^

무더위 건강 유의하세요^^

[guest]
2014-08-13 02시55분
일단 제가 말씀드릴 수 있는 것은 이게 전부입니다. ^^

INetCache 폴더가 다르게 보이는 이유
; http://www.sysnet.pe.kr/2/0/1732

@아로스님의 결과가 기대되는 군요. ^^
정성태
2014-08-25 06시17분
[아로스]
아래 코드 실행하면 InetCache 폴더에 파일이 삭제되었습니다.

static void Main(string[] args)
{
    System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 8");
}

이 방법이 옮은지 확인 좀 부탁드립니다.^^



[guest]
2014-08-25 01시12분
아래의 URL에 잘 정리된 거 보니까,

IE-ClearingCachePermalink
; https://gist.github.com/AdilHindistan/6e48a27a1c4e9b3d813d

쓸만한 방법일 것 같습니다. ^^
정성태
2014-08-27 12시01분
[아로스] 내용 확인했습니다.

많은 도움 되었습니다.

감사합니다.^^
[guest]

... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4878heyh...8/25/201710038프로세스의 프로세스 찾기(?) [2]
4877강준8/24/20179266SQLite journal_mode=wal 관련하여 질문드립니다. [1]
4876heyh...8/23/20179478프로세스 초기화하기 [1]
4874ho8/22/20179570파일 확장자명을 이용해 파일의 실행 프로그램의 전체 경로를 얻어 올 수 있을까요? [1]
4875ho8/23/201710548    답변글 [답변]: 파일 확장자명을 이용해 파일의 실행 프로그램의 전체 경로를 얻어 올 수 있을까요? [1]
4873kmi8/21/201711348전역 변수를 쓰지 않고 여러 군데에서 같은 변수를 공용하는 방법이 궁금합니다. [4]
4872abcd8/18/201710016프로세스를 초기화 하는 명령어도 있나요? [1]
4871kmi8/17/201711341메모리 부족으로 종료되는 현상의 여러가지 이유가 무엇인지 궁금합니다. [2]
4870heyh...8/14/201710140프로그램 실행시 중복일 때 버튼 색깔 원래대로 돌리기 [1]
4868kmi8/4/20179452string[] 에 Reverse 적용방법 질문해봅니다 [3]
4867heyh...8/4/20178931EventHandler에 관한 [1]
486610년차8/3/20179374dsoframer axframer open시 기존 오픈되어있는 엑셀을 먹어버리는 현상 [1]
4865heyh...7/31/201710940클릭원스로 배포 한 프로젝트가 끝났는지 알 수 있는 방법 [8]
4864초보자7/28/20179937DllIImport질문 드립니다. [1]
4863다연아빠7/23/201710156전역 예외처리에 대해 질문있습니다. [3]
4861라르크7/17/201715410window form 예제 따라하는 중인데 12.3 서비스 응용 프로그램에서 진행이 안됩니다. [3]파일 다운로드1
4859heyh...7/10/201710066다른 환경에서 실행하기 [1]
4858heyh...7/10/20179904Clickonce update에 관한질문입니다. [1]
4857heyh...7/7/201710552제가 여태까지 작성한 보고서입니다. [2]파일 다운로드1
4856heyh...7/6/20179265성태님 다른질문입니다. [4]
4855JP7/6/20179943Dispose 패턴 구현시 Finalize 재정의에 대한 질문드립니다. [2]
4854heyh...7/6/20179387
4853heyh...7/5/20179493성태님이 작성한대로 해봤습니다. [1]파일 다운로드1
4852김레오7/4/201711648서드파티 dll 디버깅에 대해 질문드립니다. [2]
4851김현준7/3/201710764Datagridview VirtualMode 시 GC가 계속 호출되는 현상이 이해가 안갑니다. [2]
4850heyh...7/3/201710513성태님 밑에 질문드렸던 오류입니다. [1]파일 다운로드1
... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...