Microsoft MVP성태의 닷넷 이야기
c# 인터넷 임시 파일 삭제 문의 [링크 복사], [링크+제목 복사],
조회: 23400
글쓴 사람
아로스 (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]

1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5832김지우2/21/20232921event와 delegate의 차이 , event를 써야하는 이유 [1]
5831이우람2/20/20233158ref 전역변수가 pinned가 될수 있나요? [2]
5830냉수마찰2/19/20233444C# GridView에 Column별 데이터 추가하는 방법에 대해 [1]
5829수박942/19/20233442키움 API를 윈폼과 WPF의 네임스페이스 없이 콘솔이나 WinUI3에서 사용할 수 있는 방법이 있나요? [2]파일 다운로드1
5828김재영2/19/20233232장기적으로는 this 구문을 안쓰는게 맞을까요? [2]
5827lee2/18/20233161파이썬 설치 오류 질문입니다 [1]
5826Syong2/14/20233741Socket 관련 Leak (OverlappedAsyncResult, OverlappedData) 관련 문의 [7]파일 다운로드1
5825박성원2/14/20233309Listview 컨트롤의 화면 전환 시 갱신 속도 [1]
5823검은콩2/13/20233913catch(Exception ex)의 line번호를 쉽게 알 수 없는지요? [7]
5822김지우2/11/20233166책을 보면서 sync, async 이해가 되지 않는 부분이 있습니다. [5]파일 다운로드2
5821검은콩2/9/20233183Async 신뢰성과 소켓데이터 [4]
5820차가워2/8/20233273다른 프로세스 실행 후 포커스 가져오기 [3]
5819취준생2/7/20233385WPF 관련 실무가 궁금합니다. [3]
5818윤길2/7/20232837ObservableCollection 에서 INotifyPropertyChanged 구현해야하나요? [2]
5817흰털너부리2/7/20232972배포 시 winform 실행 콘솔로그 보는 방법 [1]
5816흰털너부리2/6/20232795.net core json array validation 질문 드립니다. [1]
5815김재영2/6/20232911종단간 암호화에 대해 시나리오인데 타당한 시나리오일까요? [2]
5814한예지 donator2/6/20233264decompile? [9]
5813김재영2/5/20233152openssl genrsa 2048시 키 생성이 다르게 됩니다. - 파일첨부 [4]파일 다운로드1
5812김재영2/5/20233411openssl genrsa 2048시 키 생성이 다르게 됩니다. [2]
5811치르바2/3/20233241MiniDumpWriteDump API로 덤프수집을 했는데요.. [3]
5810이건우1/31/20233358윈도우서비스를 통한 웹통신관련 질문입니다 [3]
5809이상훈1/31/20233788다채널 영상 디스플레이어 개발 관련 질문입니다. [3]
5808근우1/30/20233455WPF 에서 UserControl 과 ControlTemplate 의 차이점은 무엇인가요? [6]
5807궁금맨1/28/20234622C# 10 책에 나온 예제의 결과가 제 컴에서는 좀 달라서요. 이유가 궁금합니다. [1]
5806스레드1/25/20233145총정리 - 다양한 스레드들 [초안] [1]파일 다운로드1
1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...