Jump to content

applepi

Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by applepi

  1. Application: CCleaner 3.18.1707

    OS: Windows XP Pro (SP3)

     

    Bug: An inclusion-rule takes precedence over an exlusion-rule when the exclusion-rule is applied to a folder that does not contain any files or sub-folders.

     

    Steps to reproduce:

    1. Create a root folder anywhere. (e.g. C:\MY_ROOT_FOLDER\)

    2. Create a file within the root folder. (e.g. C:\MY_ROOT_FOLDER\WITHIN_ROOT.txt)

    3. Create a sub-folder within the root folder. (e.g. C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\)

    4. Create a file within the sub-folder. (e.g. C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\WITHIN_SUB.txt)

     

    The folder structure resembles the following:

     

    C:\MY_ROOT_FOLDER\
    |
    +---WITHIN_ROOT.txt
    |
    +---C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\
    |
    +---WITHIN_SUB.txt

     

    5. Inside CCleaner, create an exclusion-rule for "C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\"

    - Check "Drive or Folder"

    - Check "All Files" (under File Types)

     

    6. Inside CCleaner, create an inclusion-rule for "C:\MY_ROOT_FOLDER\"

    - Check "Drive or Folder"

    - Check "All Files" (under File Types)

    - Select "Include files and subfolders"

     

    The way the rules are intended to be setup is that I want CCleaner to remove any file or sub-folder that appears under "C:\MY_ROOT_FOLDER\", however, I want "C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\" to be protected from removal whether or not it contains a file or any sub-folders below it.

     

    So let's run CCleaner with these rules. Great! It seemingly worked as it should. It did not remove "C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\" or the text file contained within it.

     

    Now, lets see how the rules perform if we trash "WITHIN_SUB.txt" making "C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\" empty. So I manually remove "WITHIN_SUB.txt" making sure "C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\" is indeed empty. While the folder *is* empty I'm hoping the exclusion-rule will protect it from being removed.

     

    So let's run CCleaner again. This time, "C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\" gets removed. :(

     

    The exclusion-rule has failed me and the inclusion-rule for the parent folder took precedence and removed this folder anyway. The exclusion-rule only seems to be ignored if there are no files or sub-folders inside of "C:\MY_ROOT_FOLDER\MY_SUB_FOLDER\".

     

    What I'd like to see: If an exclusion-rule is setup for a folder, don't allow for the folder's removal (via inclusive-rules) regardless of whether or not it contains any files or sub-folders.

×
×
  • Create New...

Important Information

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