SEARCH

How-To Geek

Move the Public Folder in Windows Vista

The Public folder in Windows Vista is used for sharing folders and files with people on the same computer or the same network. The normal location for the public folder is C:\Users\Public, but this isn’t necessarily the best location for it, especially if you don’t have enough space on your C: drive. With some registry editing, we can move the location of the folder.

Important Note: This change should not be done lightly, as a number of readers have encountered issues with this tweak. You’ll want to carefully check file permissions and make sure you have a backup before even attempting this.

If you click the Public link on the Favorite Links, you’ll see the list of folders. You can copy them to a new location.

For the sake of this example, we’re going to move the C:\Users\Public folder to D:\Public. First copy all the folders inside of the current Public folder into the new D:\Public folder.

Update – Important

You should turn on the option to show hidden files and folders in order to make sure you copy all the folders. There are hidden Public Desktop and Favorites folders that need to be copied as well. (thanks to steve in the comments for this)

Now we’ll open up the registry editor by typing regedit into the start menu search box.

Browse down to this key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

You should see a key called Public. Double-click it to open it and change it to D:\Public, or whatever location you want to move the public folder to.

Reboot, and your public folder will now be moved. You should be able to remove the old public folder if you want to. (Make sure you verify the location of the new public folder before you do)

Lowell Heddings, better known online as the How-To Geek, spends all his free time bringing you fresh geekery on a daily basis. You can follow him on if you'd like.

  • Published 02/17/07

Comments (52)

  1. glenn

    Some how I activated the public folder by mistake. Now I just want to get rid of it or at least off of the task bar.

    Any suggestions

  2. ElGringo

    Thanks a lot,

    I was looking for a way to do this for a couple of days… It works perfectly !

  3. BajaPaul

    Hey, thanks for the tip. I found out about your tip in Microsoft’s support fourm.

    It works great. There should be a easier way. You could do this with a right-click in XP on the My Doc’s folder.

    I have been trying to do this since I first started Vista a month ago.

  4. Leon

    What’s weird is that you can just move indivdual users versions of these folders, and all the magic just happens, but this isn’t enabled for Public folders. WHY???

    They even have a location tab if you right click and select properties, and the text suggests you can edit the location, however you can’t!

    Here’s waiting for service pack 1 :-)

  5. David Perry

    This does not work with Home Premium. There is no “Public” key.

  6. Beauford

    There is no option to delete the public folder in Vista Ultimate. You can change the location, but not delete the original.

  7. Alex

    ::READ THIS POST BEFORE DOING THIS TWEAK::

    Do NOT under any circumstance delete this key completely. I didnt want the public folder at all so i deleted the key completely, and it left. But later that night i found that for some reason or another it seemed that my admin account inherited guest-like permission and regardless of the settings i was unable to write to any of my files and folders within my user folder. Im not entirely sure it was because of the tweak but it was the only thing i did that could have caused it. Im not sure if this happens with moving it as well but take caution when using the tweak regardless.

  8. The Geek

    Removing the key is definitely a bad idea, but modifying it should be fine as long as you specify a valid folder.

  9. L-P

    Is there a way to move the whole users folder? You can’t cut and paste the folder while windows is using it.

  10. David

    When I did this all my desktop program icons vanished!!!

  11. Steve

    You need to move the hidden folders from the old C:\Users\Public folder to the new location. The instructions above did not detail this but there are 2 additional hidden folders (Favorites and Public Desktop) that must also be moved to avoid this problem. The Public Desktop folder is shared and you will be warned that if you move it it will no longer be shared. Ignore the warning and move the folder. Your desktop shortcuts will reappear.

  12. Hogge

    Hi, way not just move “my documents” folder to d: or wherever you want it and then put a shortcut in the folder called “links” “C:\Users\Username\Links” and then everything is back to normal again and your documents are safe again :-)

  13. Vino

    is there a way to edit the icon of the public folder?

  14. Rex.Withers

    After much mucking arround with regostry hacks etc I found somthing that does the job 100%.

    “There is a nice feature in windows now called mklink. It allows you create a folder like any other folder for another location in the current location. This makes it more compatable with programs than traditional “shortcuts”

    Meaning, the files in c:\users\dcollins aren’t actually there, but a “folder” exists that maps to the location d:\users\dcollins….”

    From ExpertsExchange ID# 22553310 (Well done maninblac1)

    Also more wordy info here

    http://articles.techrepublic.com.com/5100-10877_11-6177180.html

  15. Leslie Kwan

    Thanks … I was wondering how to do this. I’d rather have the public folder on my secondary hard drive.

  16. Greg

    Thanks for this tip, it’s the first thing I wanted to do when I got my new Vista box. One more thing I did–search the entire registry for “c:\users\public” and update those as well. There are some pre-installed applications that have their own references to the “Public” folder.

  17. Bobby

    It didn’t work for me, I followed it exactly and the reg key still says the path I changed it to and it’s still not using the path I changed it to.

  18. Bobby

    I got it to work, I think, since I went through and changed every instance of users\public to my new path. I mainly wanted to change it because of my recorded tv programs in media center and the fact that they were taking up a lot of space on my main drive, I wanted to move the path to my other data drive.

  19. John

    erh…
    I think I found some problems here…

    If you are using English Version of Vista, but the Display Language is another MUI package, let’s say Chinese Traditional (HK) in my case, then you CANNOT do this step directly under Chinese Traditional Display Language. You MUST switch back the Display Language to English and follow this step, then switch back to whatever the language you prefer after that.

    The reason is the system under different Display Language would not recognize the changed path, let’s say in D:\Public, as the system recognized the path in your changed Display Language directly (meant it would not recognize the new path in English…) Well… I think I didn’t explain well here, but it is just a simply confuse for the system to recognize the new path under different Display Language.

    Hope this help.

  20. Dennis Duquette

    Instructions are perfect. Everything worked fine. However, my purpose in moving the Public folder to the D drive was to shift the recording of TV programs in WMC to my much larger D drive. Unfortunately, it didn’t work. They still record to the C: Recorded TV folder. Any ideas?
    Incidentally, great site!

  21. sunnyandbow

    Hi, I moved my personal folders without realising there were hidden ones, such as appdata. There does not appear to be a means to move these as well. Should they be left in C: users folder or can they be moved. If so, how? There are also a couple of ntuser.dat.log files. Should they stay, or can they be moved as well? Thanks Andrew

  22. Rex Withers

    Dennis, You can change the recorded TV programs location by going into the settings in the media centre application. In XP you required an add-on but in vista it’s there as a standard user feature

  23. Augustine Gwee

    I found there are 2 windows folders (one is Windows and the other one is Windows.old).
    Both folder is taking up about 18GB…. Can I delete the Windows.old folder because it is taking up
    alot of space?
    Looking for advice….

  24. Adam

    I tried this and afterwards starting having problems with I never had before.
    - Could no longer save favorites or create favorite folders in Windows Explorer
    - Could not save to my documents folder (permissions error)
    - MSN Live Messenger continues to create a new Contacts folder in c:\users instead of the new locations in D:\ , even if I delete it, it creates it again
    - Microsoft office quit working, lots of errors.
    - For a while I could not save to folders on that pc from another computer on a network, I turned off user account control as a work around.

    I am a bit dissappointed that a major help site like this does not more fully test the computers reaction to a major change like this before posting it for other to go ahead and make changes. No I have a pc with many problems which had no problems before this change.

  25. The Geek

    Adam,

    You are absolutely right, this article is very incomplete and does not cover file permissions or some of the other related issues. I’m going to edit the article and make note of this for future readers.

    Sorry for the trouble!

  26. dragan

    i accidentally deleted my public folder and now i can’t install some downloaded programs..when i try to create a new folder called public it wont work

  27. bri

    You might also try this action not from MS.

    http://support.microsoft.com/kb/933127

    I have not, but it appears there is a way to move the public folder location in a way similar to how a person above described the “magic” of moving user’s folders. My bet, though is that there are still some registry leftovers that should be adjusted. Take the time to search!

  28. Jellyhead

    Hi all,

    This is the process I used (successfully!) on Vista Ultimate x64 – should work for all versions as well:

    1. Turn off User Access Controls (UAC)
    — Go to Control Panel -> User Accounts
    — Turn off UAC
    — Reboot as required

    2. Go to “Organise” -> “Folder options” and select “Show hidden and system folders”

    3. Create a “Users\Public” folder on D: (or wherever else you need to move the public data)

    4. Re-Locate the 11 data folders in the C:\Users\Public folder
    — Right-click on “Documents”, go to Properties
    — Click “Location” and change the location of the prefix folder location (ie I changed from C:\Users\Public\ TO D:\Users\Public\ )
    — Click “YES” to move all data across to new location
    — Repeat for each folder

    5. Copy-paste the remaining folders that do not have “Location” properties to the new location for Public

    6. Modify regostry values for “Public”
    — *** NOTE: THIS IS DANGEROUS IF NOT PERFORMED CORRECTLY ***
    — Click the windows “start” button, and in the “search” bar, type: regedit
    — In regedit, click “File -> Export”
    — Save your existing registry data somewhere in case you need to restore it
    — Do a find on all “C:\Users\Public”, and replace all instances with your new location (in my case D:\Users\Public)

    7. Set the %PUBLIC% environment variable
    — Go to Control Panel, and go to the System properties
    — Go to the “Advanced System Settings” link
    — On the “Startup & Performance” tab, click the “Environment Variables” button
    — In the bottom section (System Variables), click “New” and set the name to %PUBLIC%
    — Set the value to be the new location for your Public folder

    8. Reboot

    9. Test the changes
    — Click the windows start button, in the search bar, type: %PUBLIC%
    — Your new location should be displayed
    — In the “Favourites” area above your folder listings in explorer (NOT THE FOLDER LISTS), clicking Public should show your new location

    If all is ok so far, and your data is visible…

    10. Delete the remaining “old” Public folder in C:\Users\

    11. Add folder junction for anything that still points to C:\Users\Public\
    — Go to the start menu, Accessories, RIGHT-CLICK on the Command Prompt and select “Run as Administrator”
    — in the Command Prompt window, type:

    C:
    cd \Users
    mklink /J Public

    if you now type: dir

    You should see an entry for Public that points to your new location. This ensures that the “Public” link that appears under the “Desktop” listing on the folder lists works (DOES ANYONE KNOW HOW TO CHANGE WHERE THIS “FOLDER” GETS ITS LOCATION FROM without making a junction to make it poitn to the new location???)

    12. Re-instate the User Access Control that was disabled in step 1.

  29. Jellyhead

    2 corrections:

    11. Add folder junction for anything that still points to C:\Users\Public\
    — Go to the start menu, Accessories, RIGHT-CLICK on the Command Prompt and select “Run as Administrator”
    — in the Command Prompt window, type:

    C:
    cd \Users
    mklink /J Public …full path to your new location…

    ADD STEP 13: Set Permissions

    Public folder is an “all access” area. Right-click your new Public folder and hit “Properties -> Security”
    Click “Edit”
    Add the user “everyone” and give “Full Access” rights.
    Apply to the Public folder and all lower level folders

  30. Jürgen

    Hey guys, I am wondering about one thing…. what happens when I boot my system and the second disk is not available? Will Vista still boot, or will it hang? Will it just ignore the entries in the registry pointing to a (now) not existing disk?

  31. Greg

    I believe it will create a TEMP folder in the your standard user locations folder. It has done it to me before.

  32. mary

    That does it… too dumb. They blew it. I’m buying a MAC.

  33. Bananas

    @Jellyhead: I follwed your instructions but somehow it won’t let me share the folder as it says that it can’t find the file specified.
    Somewhere it keeps referring to the C:\Users\Public folder.

  34. Bananas

    @Jellyhead: Thanks I solved it.

    What you need to do is go to your Network folder and then selcect the Vista computer sharing the public folder. In that area (Network > ‘your computer network name’) you have to go to the properties of each folder and add the user Everyone and grant all access.

  35. hayes

    Works perfectly for me on Vista Ultimate 64. Which is a great OS.

  36. DraftyBeer

    I use win vista.
    When I move the cursor or do anything like fill out a form or play a game,a small scrolling tool displays next to the cursor and scrolls the page everytime I move the cursor.
    Is there anyway to stop this action with the cursor?
    Big Thanx if you know how to fix this.

  37. Lauro

    Thanks for your useful suggestion!
    I did the Regedit change and it worked.
    But now when I see my Network under my computer name there are 2 public folder: “Public” (the old one) and “Public2″ (the new one).
    Why? How I can get rid of the old one?
    It seems that there is some other registry setting that need to be changed.

    Thanks, Lauro

  38. Justin

    Wow, I am amazed at the level of confusion around the Public folder.
    The Public folder is just a new name for the “C:\Documents and Settings\All Users” directory in Windows 2000/XP and should never be changed without proper planning.
    The same with the User Profile folder, “C:\Documents and Settings\[UserName]” in Windows XP and “C:\Users\[UserName]” in Windows Vista.
    Microsoft included a very easy way to move the special folders like Public in Windows Vista.
    The problem is that the user interface to set them has a few bugs like not working with User Account Control (UAC) when setting per-machine folders.
    There is a way to change all the per-machine and per-user folders though and that way is to use the program “Known Folders Browser” ( http://weblogs.asp.net/kennykerr/archive/2006/11/02/Known-Folders-Browser-1.0-_2800_for-Vista-and-Beyond_2900_.aspx ) to set them.
    The program “Known Folders Browser” uses the new “Known Folder” APIs in Windows Vista to list every “Known Folder” and let you change them if you want to.
    I have no idea why Microsoft didn’t include a program like “Known Folders Browser” in Windows Vista or at least release one as a power toy instead of the very limited user interface Windows Explorer provides though.

    The Known Folders in Windows Vista like PROGRAMFILES, PUBLIC and PROFILE are listed as fixed folders even though they can be changed with simple registry edits as without knowing exactly what you are doing, you can really screw things up.

    The biggest problem with the registry tweak listed on this page is that when you update the Public folder location, it affects all the Known Folders below it like Desktop and Common Favorites.
    Should you not copy all the Public folders to the new location, you will get a lot of strange behavior.
    Also should you have changed one of the Known Folders under Public like Desktop to be “C:\Users\Public\Desktop” then changing this setting will not affect that change.

    It seems to me that Microsft should not have even added a registry value to control a location like “Public” that is “Fixed” to a location where power users were bound to mess with it.
    Instead of “\Windows NT\CurrentVersion\ProfileList”, it should have been put under “\Going-Down-The-Rabbithole\No-Turning-Back-Now\No-Really\You-Have-Picked-The-Red-Pill\You-Have-Left-The-Matrix\FixedFolderList” :D

  39. Rich

    Surprise me…
    All went well as could be hoped for on public move in Vista…
    However, all (vista/xp/ dare i say mac) machines on my network still looking at old c:\users\public directory. Locally it takes me to the new directory….

  40. Justin

    @Rich: That is because the File Sharing service is still pointing to the old directory, one way to fix this is:
    1. Click the Start button.
    2. Right click on Computer and click Manage.
    3. Click Continue.
    4. On the left double click “Shared Folders” and click “Shares”.
    5. Double click the share named “Public”.
    6. Under “Folder Path” put in the new Public directory path.
    7. Click ok.
    Now all the other computers will point to the new directory.

  41. Len

    I used the move /Public folders to new drive procedure. I eventually got it. So for those of you having difficulty…my demise. I know I did not add a space afer s:Public; there is no way I put a space there; I could not tell a space was there. BUT SOMEHOW I PUT A SPACE AFTER Public in my HKEY….\Profile list. This left a space between folder and subfolders. Example “/public /pictures: was bad, instead of /public/pictures pointers like I needed.
    Good Luck. Works great now.

  42. dc

    Before you start investing serious time in pursuing this hack, consider the following:

    While it isn’t the most clean, create you own shared folders and don’t bother with this hack. I started down the path of making the suggested changes, but one thing lead to hte next that points back to C:\USERS\PUBLIC – and “no” you can’t simply create a link called “Public” that points to D:\PUBLIC (that would be too easy). Just don’t store too much stuff into public which fills up your default drive and instead create a share, like D_PUBLIC to store your big files.

    Good luck!

  43. Reed

    Great hack! Just tried it with Windows 7 RC and it works the same way as described here.

    By the way. Instead of making hidden files visible and copying the Public folders with the explorer, I use Robocopy which is part of Windows since Vista. Just make sure you open a command window as administrator – it’s not sufficient to start the command window as a user with admin rights, you have to right click cmd and choose to start as administrator! Then enter the following command according to the example above:

    robocopy C:\Users\Public\ D:\Public /E /COPYALL /ZB /XJ

    Then you may be sure everything is copied and you don’t miss anything after changing the path.

    Have fun and bye!
    Reed

  44. GiSWiG

    Just another tip. Try this before changing reg key and rebooting

    Open cmd and be sure to ‘Run as Administrator’

    xcopy C:\Users\Public U:\UserData\Public /e /h /o

    Copies all the files and folders with the proper permissions, which could be why users had problems. So here I created ‘U:\UserData’ and this command created and copied all of the Public folder.

  45. Herculesvq

    SAFE WAY TO DO IT!!!
    I don’t like to mess around with registry keys. I think that all that is working in a high layer, and probably hard to know all the undocumented pointer to the Public folder. Instead I decide to change things at a lower layer, what it to do a symbolic link (soft link for Unix) that point to the folder in the drive that I whant it to be.
    So here are the steps:
    1. – Restart windows and push F8 to open the menu to start in SAFE MODE with Command Line Window. After entering you password you will see the command line window.

    2. – Copy the Public folder to you destination folder: U:\Public

    XCOPY C:\User\Public u:\Public /E /F /G /H /K /O /X /B

    This will copy all files with all the ACL rights

    3.- Create a backup folder:

    MKDIR c:\Backup

    4. – Move the Public folder to backup folder

    MOVE c:\Users\Public c:\Backup\Public

    5.- Create a symbolic link to the new destination

    MKLINK /D c:\Users\Public u:\Public

    6.- Restart windows un normal mode.

    Now all the high layer pointer still are pointing to c:\Users\Public that is really a link to the new destination.

  46. rock

    is there any other location to store reg key other than run folder ?

  47. rock

    i have developed an windows application and it runs in the back ground and it is not access able to user but if he goes to run he can find out the path of that application so is there any other place where i can store the reg keys other than run folder …Thank you

  48. Bob

    Tinkering with this is a bad idea in general.

    It is a published feature of Win 6.x and beyond and applications are using it for critical application data that must be read/write for all users. It is meant to be located on the system drive, but can safely be moved to another local hard drive. Don’t move it to a network share or you may risk serious performance degradation.

  49. Chahles

    I moved the public to my D: drive, (using the Registry instructions above) moving all of my pictures and music files into the newly made one.
    Here’s the kicker!! Then, while deleting the public folder in C: drive…it deleted both folders; the one in C: drive AND the newly made one on D: drive.

  50. Matt

    Following the instructions above and Finding/Replacing the registry keys for all instances of “users/public” with my new directory paths, I was able to make the switch.

    One thing I did notice is that network discovery by other machines on the network is temperamental. It seems that each time you modify the contents of the folder the machine can no longer be discovered by Macs. Disabling and re-enabling “Public Sharing” in the sharing control panel fixed this problem.

    If you are struggling with Samba shares for guest users on a heterogeneous network (Mac/Linux/Win), this is by far the easiest way to fix the problem.

  51. siiix

    in win7 this only works partiality, it created a new public folder BUT its still sharing the old location , even after the reboot (side note i hate win7 and i miss xp)

  52. siiix

    got it finally, had to add “everyone” as permission to any folder i wanted to share, in both system management and folder properties separately, after adding the folder as share in to system management

Get Free Articles in Your Inbox!

Join 134,000 newsletter readers

Email:

Go check your email!