Server Fault is a question and answer site for system and network administrators. 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 been asked for input on the following problem.

Some 100+ people are accessing files in a deep directory structure. The clients are all Windows XP. I'm not sure about the server side, but it's probably Windows Server 2003.

This structure has rotted somewhat over time and is due for an overhaul. The plan is to create a directory "ZZ_Old" under the top directory, move all existing (top+1)-level directories to that, and then gradually move things out of there into a new structure under the top-level directory.

The problem is that the directory structure is deep enough that some file paths exceed 260 characters. Network drives are used to deal with this, but on an individual basis - nothing is centrally managed. In other words, different individuals have different drive letters mounting different directories in the overall structure.

Going through with the move to ZZ_Old would break all these network drives, but the users will need to be able to access the old structure during the transition phase, as they will be responsible for moving the old content into the new structure. Unfortunately, individual users cannot be expected to be able to recreate the necessary drive mappings manually.

So my question is: what is the best way to manage this?

Is it possible to write a script which checks all current network drives and identifies those whose mount points will be affected by the move to ZZ_Old?

Is it possible to create a script which reconstructs the drive mappings so that the next time the drive is reconnected, it'll use the updated path which includes ZZ_Old?

I've tried looking through the registry under HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer, but that only seems to contain some, not all, current drive mappings.

Should I recommend the whole move-to-ZZ_Old-then-gradually-transfer-content idea be scrapped? If so, what would be a better strategy?

Any suggestions welcome, from "start over and think again" to "here's the script that does everything for you."

share|improve this question
up vote 1 down vote accepted
  1. Create the new directory structure as agreed upon by whoever needs to agree to it and map standard drive letters to the new directory structure for everybody.
  2. Tell the users to move their stuff into the new directory structure according to whatever was agreed upon.

    2a. If they have a lot of stuff to move it might be easier for them to tell you to move it directly on the server since they would be moving the files over the network which will take much longer for them, but will be faster for you since you have admin access to the server. If moving to a new server entirely this won't matter as much.

  3. Tell them they have until x date to complete their moves, after which access to the old directory structure will be removed and they won't be able to get to the old files anymore. Also tell them the old files will be deleted after x date, but don't actually delete them.
  4. After x date has passed make a full backup of the old structure and keep it for awhile since you can bet some users will say "Oh I forgot to move xyz file/folder and I need it." Then you can either move the files from the old structure yourself if you still have it up and running or restore them from the backup if you have to blow it away for whatever reason.

Since you seem to be concerned about overwriting their existing ad-hoc network drives, just be clear to them that the new drives will be G,H,I or whatever and their existing network drive letters will be overwritten on x date (not necessarily the same x date as above, but some time before it). Since they mapped the drives themselves in the first place, they should know how to remap them. If not just tell them to ask you for help remapping them if they have any concerns.

share|improve this answer
Thanks, good answer. I'm going to leave the question unanswered over the weekend to see if anyone else wants to weigh in. – Uffe May 11 '12 at 5:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.