Feature Request: Deleting certain files in all subfolders

Hi.

I believe CCleaner should capable of searching inside a certain given folder and all its subfolders for files with certain name patterns (such as _cache.tmp, thumbs.db, checklist.ms, catalog??.thumb etc.) and delete them. (Note that these files might have Hidden, System and Read-only attributes.)

Initially, I was of the opinion that this feature is fully-implemented in CCleaner. However, after a discussion in the forum (http://forum.piriform.com/index.php?act=findpost&pid=147199) it was revealed that the implementation is not complete and cannot perform its duty as it is supposed to.

Thanks.

Hi.

I'm new around here but I'd like to second that request. I'm only interested in cleaning thumbs.db file from all of my computer and every shared computer that I work with. Not any more. Having this bug fixed enables the implementation of lots of cleanup scenarios. Just think about all those junk files that have the same patterns in their names and are better off deleted... like archive-comment files, *.GID files, ACDSee cache files, Microsoft Office cache files, ...

Hi Sephiroth.

You could do that quite quickly on each computer.

Simply do a search for "thumbs.db", delete them all, and then in a Windows Explorer window go to "Tools\Folder Options\View" and scroll down to "Do not cache thumbnails" and check the box.

This will stop them from being created.

^ Actually, ever since I made my original post, I have been thinking and I realized that there are even more reasons for having this bug fixed than just deleting thumb.db files. Just imagine what scenarios can be implemented! I want the whole bug fixed now.

---

P.S. About deleting thumb.db files, don't be so suppressive. Same thing can be said about all features of CCleaner. You can always say "There are no need to have this feature because you can have it done by clicking this and that" and suppress a feature request.

Beside, thumb.db files come and go with downloads too. And furthermore, I use lots of shared PCs, most of which have group policies applied and their settings cannot be changed.

Enough said, I think having the bug fix makes lives lot easier, given the many other scenarios that can be implemented.

I want the whole bug fixed now

Sephiroth you might get better reactions to your suggestions if you didn't post sentences like that.

The thumbs.db 'fix' is one many users have in place on their computers without thinking of it as being suppressive.

This is a suggestions part of the forum, just that. It is not a ''stamp foot I want my suggestion put in place NOW'' part of the forum.

The devs read these suggestions and if they see fit they include it in future builds of this free software.

Wow! You guys are so touchy! Please, try to calm down!

There is no stomping or anything, OK? I just like to "second" that request. Just that, OK? (And I guess you didn't read that sentence in its context.)

Oh, and it's not my fault the that this thread is started here. It's that fleetcommand guy's fault.

And I didn't mean anything intrusive or anything, I just supported an opinion. Please don't ban me, OK?

I am calm, I always try to stay calm :)

I suggest you do the same and just enjoy the forum.

Oh, really? :unsure: Phew! For a second I was hoping you're not the commander of nuke missile silo or you might wipe me of the earth. Okay. I'm calm. See: :)

But... if write "I want this bug fixed" next time, wouldn't I get kicked?

No one gets 'kicked' for bug reporting.

You report what you see as a bug with evidence to back it up and the devs look into it.

Don't confuse requests and suggestions, with bug reporting.

Hello:

I think that instead fighting it's better working:

I like the idea of Deleting certain files in all subfolders. Wise Disk Cleaner does. Why CCleaner doesn't?

I'd like to have a large list of useless files cleaned in all my drive:

*.diz; *.tmp; *.temp; *.chk; *.old; *.gid; *.nch; *.wbk; *.fts; *.ftg; *.$$$; *.err; *.---; *.~*; ~*.*; *.??$; *.___; *.log; *.~mp;*._mp; *.dmp; *.prv;

*.sik; thumbs.db; CHKLIST.MS; *.ilk; *.aps; *.ncb; *.pch; *.obj; *.$db; *.?$?;...

And many more. Note those files like .ncb and .obj: they are temporary or intermediate files of visual studio. Not many people have them, but most developers will.

Sot it would be nice to specify this large list in "include" folder "c:\", and have them removed from the whole drive, not only in "c:\"... I could do a patch: edit the .ini file adding all the paths of my projects, and for each path add those file types... but again, it's a partial and not elegant solution. Better add a recursive search of all desired files in a folder, and add a check box if you don't want recursivity. I am a software developer and I know it is not hard. I wrote some similar code in VC++, I think you only need CFileFind class.

Let me know if you implement it!

Manuel.-

Hi, again, people.

It's the original poster of this topic, Fleet Command.

I just wanted to thank the developers for having implemented this feature. Thanks a bunch, developers! Keep up the good work!

Hi, again, people.

It's the original poster of this topic, Fleet Command.

I just wanted to thank the developers for having implemented this feature. Thanks a bunch, developers! Keep up the good work!

Did they do? When? How? I tried latest version (October 26th) and still incomplete: you can delete selected files in a folder, but it won't include sub-folders. Or you can delete sub-folders, but will delete ALL files...

I think the poster may have gotten a bit mixed up Manuel as he also posted it here, which is where he may have meant it.

http://forum.piriform.com/index.php?showtopic=24100

^ No, moderator hazelnut. I have not mixed up.

The following winsys2.ini code works like a charm:

[Thumbs.db files on Drive K]LangSecRef=3002Default=FalseFileKey1=k:\Images|Thumbs.db|RECURSEFileKey2=k:\Images|Checklist.ms|RECURSE

Also these two topics are in fact the same thing. I started both. I started the to which you have linked, in which moderator Andavarki advised me to open a case here and so I did.

In any case, the message is meant for the developers. In the code of conduct of us developers, he who requests a feature is obliged to thanks the developer when it is implemented.

Oops! Sorry Manuel but I just got confirmation that this one does not work:

[Thumbs.db files on Drive K]LangSecRef=3002Default=FalseFileKey1=k:\|Thumbs.db|RECURSEFileKey2=k:\|Checklist.ms|RECURSE

So, the root of the drive cannot be specified for cleanup but when your target is a single subfolder, you can.

Conclusion: Thanks developers, but please, keep up the good work!

Try that:

FileKey1=k:\.|Thumbs.db|RECURSE

FileKey2=k:\.|Checklist.ms|RECURSE

The searchpath (the part before the first |) is supposed to not end on a backslash. For some reason just k:|Thumbs.db|RECURSE does not work but the syntax above does the job.

I did some testing on that issue and as far as I could figure it is fully implemented now.

Thanx to the devs and bug fixers!

regards,

Mike

Yes, that was nice workaround, adding a dot (.) between backslash (\) and pipe (|). Thanks Mike42. I think this workaround makes both Manuel S. and Sephiroth very happy.

By the way, don't you find recursion mechanism to be a bit slow? I find my own C# application to be faster. I hope developers will take look into this issue.

By the way, don't you find recursion mechanism to be a bit slow? I find my own C# application to be faster. I hope developers will take look into this issue.

Depends on your data structure. The sections in my winapp2.ini scanning from the root take rather long (~10 sec) since they search the complete folder tree (at least the first time, after the folder structure is cached it's faster of course). I have no comparison, so I can't really tell if it is slow or not.

Btw: Why the new account? Did your old one get banned? ;)

Yes, that was nice workaround, adding a dot (.) between backslash (\) and pipe (|). Thanks Mike42. I think this workaround makes both Manuel S. and Sephiroth very happy.

Humm.... Yes, I will be very happy if it works, but the question is how to use it. For example, if I want to delete *.tmp; *.pdb; *.pch from c:\users and its subfolders, how would you write it?

if I want to delete *.tmp; *.pdb; *.pch from c:\users and its subfolders, how would you write it?

[Damn temp files]
LangSecRef=3002
Default=True
FileKey1=c:\users|*.tmp|RECURSE
FileKey2=c:\users|*.pdb|RECURSE
FileKey3=c:\users|*.pch|RECURSE

Big surprise? You might also take the time and read the documentation page, especially this one: ( http://docs.piriform.com/ccleaner/advanced...leaner-to-clean )