I have some folder, say C:\foo I want to mount as drive M:\
In linux I would do this with a bind mount.
Stack Exchange network consists of 181 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.Visit Stack Exchange
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
You can use the subst command in Windows.
subst m: c:\foo
To make a persistent redirection, you can edit the registry. Add a string (REG_SZ) value to:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices
Set the name of the value to the drive letter (e.g. M:), then the data to:
This method will work across logins and reboots. I tested this on Windows 2008, so it should also work on Vista, XP, 2003 and 2000.
Subst also works in Vista:
C:\Users\juan>subst /? 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
Map a drive (M:) to \\yourcomputername\myshare
From the command line:
subst M: C:\foo
This works in Windows XP, haven't tested it in other versions.
Subst is the correct answer. You should be aware that subst is a per-session setting. It goes away when you log out and if you use runas to create a secondary logon context your subst-drive won't be there for those apps.
You can create a shortcut (.lnk) in your startup group to re-create those subst drives. The target property of the .lnk needs to be something like this:
C:\Windows\System32\cmd.exe /c subst S: C:\Some\Extremely\Obscure\Path\Of\My\Own\src
We use this technique to ensure that all developers build debug symbols with the same path from S:\
There is also a visual subst applet out there.
You can do this in PowerShell as well. I use the following to set a drive to my Suvbversion working folder:
new-psDrive -name SVN -psprovider FileSystem -root 'c:\documents and settings\xxxx\my documents\subversion\adminscripts\trunk'
You can then access it as:
Another way to do this, that perhaps plays a bit better with having it mounted on start, is to use the trick at http://windows.microsoft.com/en-us/windows7/Create-a-shortcut-to-map-a-network-drive (i.e. My Computer -> Tools -> Map Network Drive) and take advantage of the fact that your local machine is a network host; I have just mounted, for example,
\localhost\Users\me\Documents\My Dropbox\Portable Music
to M: this way. You might be able to use \localhost\C$\ to access everything, but I had some trouble with that here (although it's worked for me elsewhere).
If you need something which is cross-session you could look at running both an iSCSI target as well as iSCSI client on the same box. Obviously this is dependent on your OS as to whether you need anything 3rd party to achieve it.
use Subst Stick this into a .bat file
@echo off subst [DRIVE LETTER]: C:\[FOLDER]
Then save the batch file into the startup folder in the start menu. If you're on windows 8, you can find the startup folder by hitting Win+R then typing