Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a Windows 7 system which contains a ProgramData folder on drive C.

I now need to completely move this folder from drive C to drive D.

What is the best way to do this?

share|improve this question

migrated from Jul 6 '12 at 10:01

This question came from our site for professional and enthusiast programmers.

"Move to the D [physical] drive" - do you need to move the whole C partition there or just the ProgramData folder? Also, by D drive, do you mean a partition or a separate physical drive? And, what is the purpose of doing what you want to do? – colemik Jul 6 '12 at 10:27
@trismarck Only ProgramData need to move, i need to test my product which will work fine or not? D is a seperate Partition i mean seprate Drive , so there are C, D drive exisitng already,but i need to move parogramdata – vettori Jul 6 '12 at 10:37
A physical drive is a physical device, it looks like a box. A partition is a logical 'part' of drive. A physical drive can have multiple partitions. Do you have C partition on a _physical_ hard drive1 and D partition on a hard drive2 or do you have both C and D partitions on one physical hard drive1? Also, do you want to move the ProgramData directory, so that the files _inside_ ProgramData directory are on a separate partition or do you want to move the entire ProgramData folder to a separate partition (lets say D partition) (so it'd look like: D:\ProgramData\ instead of C:\ProgramData)? – colemik Jul 6 '12 at 11:05
up vote 3 down vote accepted

The system drive can't be D; it has to be C.  You can move data from one HD to another or move data from one partition to another.

You need to use clone software to do this.

However if you want to move or change ProgramData,

There is nothing important in ProgramData that would not be recreated by the various applications you install. It is just application configuration data.

The default path is C:\ProgramData.  It is stored here:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ProgramData


  1. You can change your default ProgramData path to be an alternative drive. Although doing so, all new users that are created will use the new programdata path. So you may end up having two ProgramData folders at the end of the data.
  2. Alternatively, you could use “NTFS Junction Points”. Not many people know of this, but a junction point is a way to force all programs that write to path (C:\ProgramData) to be redirected to (D:\ProgramData). This is how old programs designed for XP can easily work with Vista and Windows 7 new folder locations (Documents and settings replaced with Users).

    So you could create a junction point specifically for the tmp directory that is created by the GR.

    mkdir D:\ProgramData
    robocopy /XJ /MIR "C:\ProgramData" "D:\ProgramData"
    mklink /J "C:\ProgramData" "D:\ProgramData"

The downside is that Windows Update does not work well with program data on a separate drive. See Relocation of the Users directory and the ProgramData directory to a drive other than the drive that contains the Windows directory.


share|improve this answer
I created a new D:\ProgramData folder and then created junction points for only the sub-folders within C:\ProgramData that took up the largest amount of space. This meant that the majority of programs still benefited from running on C (the SSD) whilst the big things (such as Office, Steam and Visual Studio) sat on D. – Richard Jan 7 '14 at 14:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .