This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Setting browser.cache.disk.parent_directory to dynamic location (different for each user)

  • 8 பதிலளிப்புகள்
  • 1 இந்த பிரச்சனை உள்ளது
  • 4 views
  • Last reply by MAZE

https://support.mozilla.org/en-US/questions/new/desktop/customize/form?search=change+location+of+cache&step=aaq-question


Setting browser.cache.disk.parent_directory to dynamic location (different for each user)

I’m attempting to set browser.cache.disk.parent_directory in about:config to a custom dynamic path string using the Windows %username% variable in order to make it so that each Windows account has its Firefox cache in a different location that is somewhere other than each user’s AppData. What I tried to use was this:

T:\Users\%username%\Firefox\Cache

However, that created a folder path with %username% (literally, not substituted by its value as a Windows variable) as part of it. Is there some way for me to accomplish this?

https://support.mozilla.org/en-US/questions/new/desktop/customize/form?search=change+location+of+cache&step=aaq-question Setting browser.cache.disk.parent_directory to dynamic location (different for each user) I’m attempting to set browser.cache.disk.parent_directory in about:config to a custom dynamic path string using the Windows %username% variable in order to make it so that each Windows account has its Firefox cache in a different location that is somewhere other than each user’s AppData. What I tried to use was this: T:\Users\%username%\Firefox\Cache However, that created a folder path with %username% (literally, not substituted by its value as a Windows variable) as part of it. Is there some way for me to accomplish this?

All Replies (8)

Each user on a computer already has a separate profile. The profile folders store all data for that user. There is no need for what you want.

Is there a problem or concern?

I did write, “in order to make it so that each Windows account has its Firefox cache in a different location that is somewhere other than each user’s AppData”. In a nutshell, my preference is to have each user’s personal and customization data (including browser profiles) on a separate data partition, and all temporary files and caches on another separate partition. When I set Firefox up, I used “firefox.exe -P” to delete the default profile for each Windows account, then created new profiles on my data partition for each account. I now wish to make it so each account’s cache is on my temporary files partition, with separate folders for each account. If necessary, I could accomplish it by using folder junctions, but I’d prefer to have a one-time-configuration solution.

I called for more help.

You can possibly do this via an autoconfig.cfg file via a getenv() function call.

See:

This didn’t work, at least not as attempted. The page you kindly linked to doesn’t offer any examples for usage of environment variables, so I guessed at it. The code I used in “firefox.cfg” was:

// IMPORTANT: Start your code on the 2nd line getenv(username) lockPref("browser.cache.disk.parent_directory", "T:\Users\%username%\AppData\Local\Mozilla\Firefox\Profiles\Default\Cache")

Is there something I need to change?

Actually, I just discovered that the code in my previous message created a folder named “T:\Users%username%AppDataLocalMozillaFirefoxProfilesDefaultCache”. I was able to fix the lack of folder hierarchy by doubling the backslashes in “firefox.cfg” as follows:

"T:\\Users\\%username%\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\Default\\Cache"

But it still created a folder literally named “%username%”

You misunderstood, you need to assign getenv("USERNAME") (note the quotes) or use this function call directly/ Try this code in autoconfig.cfg instead:

//
lockPref("browser.cache.disk.parent_directory", "T:\\Users\\"+ getenv("USERNAME")+"\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\Default\\Cache");

That worked! Thank you!

I doubt if I’d ever need to worry about multiple Firefox profiles for one Windows account, but anybody know if there’s an environment variable that stores that name of the profile in use? If so, I wouldn’t mind fine-tuning my CFG file even more along the lines of this:

lockPref("browser.cache.disk.parent_directory", "T:\\Users\\"+ getenv("USERNAME")+"\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\"+getenv("[PROFILENAME]")+"\\Cache");

…Just to keep multiple profile caches from intermingling.