Jump to content

How to get CCleaner to clean Steam not in default path?


Special

Recommended Posts

This can go for other programs as well, but Steam is the primary reasion for this post. You see I have steam and all my other games installed on my second hard drive D:Games/Steam and because of that CCleaner does not clean Steam because CCleaner sits on my primary OS drive C:Program Files/CCleaner etc.

 

I understand one of the ways to get this to work is to set up an "include" path, then and tell it manually what to delete, but I have no idea what CCleaner deletes from steam to set that up manually.

 

This goes double for the Winapp2.ini, I'd love to be able to get this extra bit of cleaning to work for my other drive as well but everything in it is set to their defualt paths too : (.

Link to comment
Share on other sites

Hey thanks for that, making a symlink did the trick. mklink /J "link_path" "folder_path" is what I used and now it shows a "Steam" shortcut like folder that takes me to the actual folder on my other drive.

 

A small question though since I'm totally noob about symlinks and this one was the first I ever created, if I wanted to remove this symlink do I just delete the linked "Steam" folder or do I need to remove it another way. I want to make sure I know the proper way since this could delete the actually Steam folder which is 100+ GB's.

Link to comment
Share on other sites

deleting the symlink will only delete the "shortcut" but not the contents of the directory it points to. You needn't worry :)

YES - YOU DID GOOD TO WORRY - KEEP ON WORRYING - THE CONTENTS DO DISAPPEAR.

PLEASE TEST WHAT HAPPENS UNDER YOUR OPERATING SYSTEM

 

mklink "link_path" "folder_path"

The above creates a SYMLINK and is reported thus

E:\Test\X>MKLINK "E:\Test\X\###" "E:\Test\X\Y\Z\"
symbolic link created for E:\Test\X\### <<===>> E:\Test\X\Y\Z\

 

mklink /J "link_path" "folder_path"

The above creates a JUNCTION, such as you created, and is reported thus

E:\Test\X>MKLINK "E:\Test\X\###" /J "E:\Test\X\Y\Z"
Junction created for E:\Test\X\### <<===>> E:\Test\X\Y\Z

 

A SYMLINK is very restrictive and using CMD.EXE I could neither see nor delete the contents,

and possibly CCleaner will not gain access unless you can perform Access Control List tricks that I have yet to master.

 

The JUNCTION has the appearance of, and similar access as, a folder,

so when I try to DEL the contents of ###, the files in the destination folder "E:\Test\X\Y\Z" are removed.

CCleaner should be able to clean that, as I think you have found.

A junction is so like a folder that DEL will not remove it,

but "RD ###" will remove folders / directories and junctions AND THE TARGETS AND TARGET CONTENTS.

 

I cannot remember how to safely remove a junction without destroying the destination contents.

I will never need to know because I would simply rename E:\Test\X\Y\Z to E:\Test\X\Y\-Z-

and then confirm that E:\Test\X\### is looking at empty space (I never know when the service "Distributed Link Tracking" will catch me out)

and then the junction ### can be removed after which -Z- can be renamed as Z.

Link to comment
Share on other sites

Thanks for your concern guys, but I just gave it a test with a dummy folder in basically the exact situation using the mklink /J and deleting the link just removes the link and not the files.

 

It does kinda confuse you though, since when you go to delete the link it asks "are you sure you want to delete this folder" instead of saying "are you sure you want to delete this shortcut"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.