164

Есть ли в Windows (XP или более поздняя версия) встроенный способ создания постоянных сопоставлений дисков, аналогичный тем, которые создает SUBST? Я нашел сторонний инструмент psubst. Есть ли способ сделать это без сторонних инструментов?

8 ответов8

140

Ну, Википедия упоминает:

C:\>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.

Таким образом, вы можете связать пути с буквами дисков, используя subst . Программное обеспечение Persistent SUBST (psubst), кажется, чертовски удобно, и оно обеспечивает решение для запуска его из запуска:

https://code.google.com/p/psubst/#Inconstancy

Непостоянство

Однако перезапуск системы уничтожает виртуальный диск. Что делать? Диск может быть создан после запуска. Но что делать, если на ранних этапах запуска требуется диск? Например, запустить сервисы? Существует системная функция для запуска виртуального диска из системного реестра:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\\??\\C:\\Documents and Settings\\All Users\\Shared Documents"

Достаточно создать текстовый файл с расширением .REG и запустить его. При следующем запуске системы виртуальный диск будет существовать при входе в систему. Необходимо определить имя диска и путь. Обратите внимание, что каждая обратная косая черта в пути удваивается.

В Windows вы можете запустить редактор реестра следующим образом:

  1. Пуск »Выполнить ... (или нажмите Win+R)
  2. Тип: regedit
  3. В Windows Vista и выше, появится UAC, нажмите "Да".
72

Установка его на HKEY_CURRENT_USER имеет то преимущество, что у каждого пользователя есть разные настройки. Я предпочитаю придерживаться настройки пространства пользователя, пока доза обслуживания системы не зависит от устройства.

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"F Drive"="subst F: D:\\mount\\db"
"G Drive"="subst G: D:\\mount\\log"

Источник: http://networkadminkb.com/KB/a446/how-to-use-drive-letters-mount-points-the-same-disk-drive.aspx

40

На странице, на которую вы ссылаетесь, есть ответ. Вам не нужен сторонний инструмент, вы можете сделать это с помощью простой записи в реестре, как подробно описано на этой странице.

Создайте текстовый файл с именем «mapdrive.reg» со следующим содержимым:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\\??\\C:\\Documents and Settings\\All Users\\Shared Documents" 

Тогда нужно просто иметь возможность дважды щелкнуть по нему для настройки, сторонние инструменты не нужны.

22

Я обнаружил это, потому что искал улучшения по сравнению с моими сценариями запуска при загрузке - они работали нормально, но иногда выполнялись после сбоя папок при запуске, поскольку мой диск еще не был подключен.

Сначала я отредактировал реестр, но не смог заставить его работать. Тем не менее, я столкнулся с этой альтернативой, которая, хотя она и не использует subst, отвечает мне на вопрос:«Как сделать отображение SUBST постоянным при перезагрузках?"Не используйте subst ... (вставьте соответствующие 'computerName' и 'pathName'):

net use u: "\\computerName\c$\pathName" /persistent:yes

Я адаптировал это из предложения Хэнка Арнольда в этом обсуждении картирования локальных дисков. Я догадывался, что \\myComputerName \c может работать, но я не знал, как применить $.

Прежде чем пытаться использовать команду "net use", попробуйте перейти к

\\computerName\c$
чтобы убедиться, что у вас правильное имя компьютера.
8

Поместите пакетный файл в папку «Автозагрузка», которая выполняет все действия SUBST, которые вы хотите выполнить.

5

Поскольку исходный PSubst имеет некоторые ограничения и, похоже, был сделан автором, мне пришлось написать новую версию для своих нужд, исправить некоторые проблемы и добавить функциональность и гибкость.

Проверьте здесь для пакетного файла PSubst версии 3

https://github.com/cyberponk/psubst

Совместим с Windows 7, Windows 8, Windows 10, Windows Server 2012

Примечание: эта работа не имеет намерения унижать первоначального автора и возникла только из-за реальной необходимости, а именно:

  • Как администратор newtork, я постоянно нуждаюсь в сетевых дисках SUBST и общаюсь с разными пользователями сети.

  • Поскольку не все являются экспертами по Windows, я подумал, что автоматическое повышение прав администратора с обработкой ошибок поможет, основываясь на комментариях, которые я читаю через Интернет.

  • Поскольку некоторые люди боролись с порядком аргументов, я подумал, что для сценария будет лучше работать с аргументами в любом порядке.

Я не могу вспомнить каждую добавленную функциональность, но каждое включение было сделано исключительно по необходимости. Я делюсь кодом, чтобы другие не могли столкнуться с неприятностями, которые у меня были. К этому нет никакого намерения, кроме как делиться и помогать.

2

На самом деле, инструмент PSUBST объединяет два разных способа создания замещенных дисков в Windows. Если вы хотите иметь постоянные диски между запусками, вы можете запускать этот инструмент один раз для каждого диска, который вам нужен. Другой способ - использовать метод, предложенный "davr". инструмент PSUBST просто делает то же самое, но позволяет сделать это более простым способом.

0

Мне нравится Visual Subst

Делает вещи проще

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .