Member Avatar for thunderstorm98

I hope every computer geek will know about index.dat file.

Well my point of view on Privacy that any anonymous hacker should know about you easily. You can clears the IE history, Cookies, Temporary Internet files...but till the URL's you have visited is located under index.dat file. Microsoft have designed that file to track the online surfing behaviour of user but its most vunerable for online Privacy.

Well no more solution to get rid of but i found a way to clears that URL's by Ccleaner, it cleanes it at next system restart.

I usually boot to DOS and delete those files manually.

after booting to dos, how and where would you delete these files from? Sorry for basic quetions, very noob to this.

Boot to dos and type this

cd windows

deltree /y cookies
deltree /y history
deltree /y tempor~1

and if you want you can delete your swap file by typing


Welcome to the site!

C# code to delete the Index.dat file shown below

it's very hit and miss which seems to be a timing isue but the deal is you need to set the attributes on the 'Special Folder' and the file before you try to delete it and thats after you have killed explorer that locks the files.

MS is doing all it can to stay freinds with the CIA!

        int DeletedCount = 0;
        int CouldNotDelete = 0;
        KillExplorer();
        foreach (string DatFile in DatFiles)
        {//Do not put break point or step into the code else explorer will start and the file will become locked again
            DirectoryInfo DInfo=new DirectoryInfo(DatFile.Replace("index.dat",""));
            FileAttributes OldDirAttrib = DInfo.Attributes;
            DInfo.Attributes  = FileAttributes.Normal;//Set to normal else can not delete
            FileInfo FInfo = new FileInfo(DatFile);
            FileAttributes OldFileAttrib = FInfo.Attributes;
            SetAttr(FInfo, FileAttributes.Normal);
            TryDelete(FInfo);
            SetAttr(FInfo, OldFileAttrib);//Sets back to Hidden,system,directory,notcontentindexed
            if (File.Exists(DatFile))
                CouldNotDelete++;
            else
                DeletedCount++;

        }
        if (DatFiles.Count>0)//Lets get explorer running again
            System.Diagnostics.Process.Start(DatFiles[DatFiles.Count - 1].Replace("index.dat", ""));
        else
            System.Diagnostics.Process.Start("explorer");
        System.Windows.Forms.MessageBox.Show("Deleted " + DeletedCount + " Index.dat files with " + CouldNotDelete + " Errors");


        return "Deleted " + DeleteFileCount + " Files ";
    }

    private void KillExplorer()
    {
        foreach (Process P in Process.GetProcesses())
        {//Kill both these process because these are the ones locking the files
            if (P.ProcessName.ToLower() == "explorer")
                P.Kill();
            if (P.ProcessName.ToLower() == "iexplore")
                P.Kill();
        }
    }

    private bool TryDelete(FileInfo Info)
    {
        try
        {
            Info.Delete();
            return true;
        }
        catch 
        {return false;}
    }

    private void SetAttr(FileInfo Info,FileAttributes Attr)
    {
        try
        {
            Info.Attributes = Attr;
        }
        catch { }
    }
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.