В windows как монтировать папку как диск

32

У меня есть какая-то папка, скажем C: \ foo, я хочу смонтировать как диск M: \

В Linux я бы сделал это с помощью bind mount.

Ян Келлинг
источник

Ответы:

50

Вы можете использовать команду subst в Windows.

subst m: c:\foo

Чтобы сделать постоянное перенаправление, вы можете отредактировать реестр. Добавьте строковое значение (REG_SZ) в:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices

Установите имя значения в букву диска (например, M:) , а затем данные в:

\??\C:\foo\foosub

Этот метод будет работать через логины и перезагрузки. Я проверил это на Windows 2008, поэтому он также должен работать на Vista, XP, 2003 и 2000.

Дуг Люксем
источник
1
Ах, +1. Забыл про команду subst, не использовал ее более 10 лет! Я не думаю, что это постоянно, хотя? Может быть, я ошибаюсь, это было какое-то время ...
squillman
Вставьте его в сценарий входа или запуска, и он будет счастливым. Вы можете сделать это в локальной групповой политике, не нужно переходить на уровень домена.
Максимус Минимус
1
Эй, это мило! Я не знал об этом, +1, я буду его использовать ..
Грег Михан
это путь, к сожалению, есть несколько случаев, когда диск с подстановкой не распознается должным образом. Не удивляйтесь, если время от времени вы получаете странные сообщения об ошибках из Windows, когда вы что-то делаете со своим вспомогательным диском .....
marc_s
2
Я добавил другой метод, который является постоянным.
Даг Люксем
7

Subst также работает в 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

,

user9250
источник
5
  • Щелкните правой кнопкой мыши папку и выберите «Общий доступ и безопасность».
  • Выберите Поделиться этой папкой
  • Дайте ему имя акции (например, myshare)
  • нажмите ОК

Подключите диск (M :) к \\ yourcomputername \ myshare

squillman
источник
4

Из командной строки:

subst M: C:\foo

Это работает в Windows XP, не проверял его в других версиях.

goldPseudo
источник
побил самый быстрый пистолет
Ян Келлинг
Ага. не надо было сначала проверять команду: p
goldPseudo
3

Subst - правильный ответ. Вы должны знать, что subst является настройкой для каждой сессии. Он исчезает, когда вы выходите из системы, и если вы используете runas для создания вторичного контекста входа, ваш субдиск не будет там для этих приложений.

Вы можете создать ярлык (.lnk) в вашей группе запуска для воссоздания этих субдисков. Свойство target .lnk должно быть примерно таким:

C: \ Windows \ System32 \ cmd.exe / c subst S: C: \ Some \ Extremely \ Obscure \ Path \ Of \ My \ Own \ src

Мы используем эту технику, чтобы все разработчики создавали символы отладки с одинаковым путем из S: \

Там также есть визуальный субплет .

Брайан Райтер
источник
2

Вы можете сделать это и в PowerShell. Я использую следующее для установки диска в мою рабочую папку Suvbversion:

new-psDrive -name SVN -psprovider FileSystem -root 'c:\documents and settings\xxxx\my documents\subversion\adminscripts\trunk'

Вы можете получить к нему доступ как:

cd svn:
Райан Фишер
источник
2
Обратите внимание, что метод PowerShell не делает «диск» доступным вне PowerShell, поэтому нет доступа к проводнику. Вы можете сделать это с COM-объектами, но в любом случае просто вызовите SUBST.
Райан Фишер
2

Другой способ сделать это, который, возможно, играет немного лучше при подключении при запуске, - использовать трюк на http://windows.microsoft.com/en-us/windows7/Create-a-shortcut-to-map. -a-сетевой диск (т. е. Мой компьютер -> Инструменты -> Подключить сетевой диск) и использовать тот факт, что ваш локальный компьютер является сетевым хостом; Я только что смонтировал, например,

\ localhost \ Users \ me \ Documents \ My Dropbox \ Portable Music

М: таким образом. Вы могли бы использовать \ localhost \ C $ \ для доступа ко всему, но у меня были некоторые проблемы с этим здесь (хотя это работало для меня в другом месте).

-Робин

rlpowell
источник
1

Если вам нужно что-то межсессионное, вы можете посмотреть как на iSCSI, так и на iSCSI-клиенте в одном окне. Очевидно, что это зависит от вашей ОС, от того, нужна ли вам какая-либо третья сторона для ее достижения.

Джоэл Мэнсфорд
источник
0

используйте Subst Stick в файл .bat

@echo off
subst [DRIVE LETTER]: C:\[FOLDER]

Затем сохраните пакетный файл в папку автозагрузки в меню «Пуск». Если вы работаете в Windows 8, вы можете найти папку автозагрузки, нажав Win + R и набрав%appdata%\Microsoft\Windows\Start Menu\Programs\Startup

Ссылка
источник