I am working on migrating data across many disparate drives onto one massive Windows 8 Storage Space.

Problem I have is that many of my programs reference various drive letters to acces their libraries, files, music, movies, etc.

Is there any way I can, for example, have any reference of drives D, E, F, and G all point to the new drive S:?

2 Answers 2


Yes, use the subst command in the command line: subst NewLetter: OldLetter:\

For example, to assign the current C: drive the letter H: as well: subst H: C:\

See subst /? for more info.

Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.
  • 1
    Awesome, I was going to suggest mklink, but this works just fine. Oct 28, 2012 at 7:18
  • @cable729 That would not be possible. Directory junctions and symlinks are NTFS features, so you cannot assign a drive label as a link.
    – Bob
    Oct 28, 2012 at 7:22
  • I successfully created a link from C:\d to D:\ Oct 28, 2012 at 7:22
  • @cable729 But you cannot link C: (the label) to D:. You linked a folder to a drive, not a drive label to a drive. Also, this requires an NTFS partition mounted as C: to put the link on, which defeats the purpose of consolidating drives as in the question (since the whole point is to reduce the number of partitions/combine data on one partition).
    – Bob
    Oct 28, 2012 at 7:25

You can't run subst as admin, but as a regular user instead, or your "new" drive won't be recognized. Once I ran the "regular" command prompt it worked.

Reference: Windows Explorer not recognizing subst'd drives


You must log in to answer this question.

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