Переопределить имя подключенного диска, используя скрипт.bat?

У меня есть следующий пакетный скрипт, который успешно отображает несколько наших дисков для наших пользователей:

@echo off
net use * /delete /yes
net use x: \\192.168.1.52\xrays
net use s: \\192.168.1.52\common
net use p: \\192.168.1.52\public
net use o: \\192.168.1.52\office
net use y: \\192.168.1.52\drives
EXIT

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

Я просмотрел довольно много документов в Интернете с примерами команд net use, но я вижу только такие параметры, как учетные данные, но не имею ничего общего с именами.

Сценарий выполняется на рабочих станциях Windows XP и Windows 7.

Любая помощь будет оценена.

3 ответа

Есть способ сделать это из командной строки без использования VBScript. Вы можете редактировать реестр, используя reg add команда. ИМХО, делать это таким образом будет лучше, чем использовать VBScript для изменения метки, потому что он не будет ассоциировать метку с буквой диска, а скорее будет ассоциировать метку с общим ресурсом. Итак, если конечный пользователь позже отключается X: и вручную монтирует xrays поделиться сказать R: диск, тогда метка все равно будет отображаться правильно (для того, что вы назначили в сценарии).

Ключ, к которому вы будете писать, HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\ с подключом, являющимся общим ресурсом со всеми обратными слешами, замененными символами фунта (#).

Примечание: я еще не проверял, как вам следует обращаться с именами общего ресурса с пробелами (или даже символами фунта) в них.

@echo off

net use * /delete /yes

:: Set the label in the registry
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#xrays /v _LabelFromReg /t REG_SZ /f /d "X-Rays"
:: Map the drive
net use x: \\192.168.1.52\xrays

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#common /v _LabelFromReg /t REG_SZ /f /d "Common"
net use s: \\192.168.1.52\common

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#public /v _LabelFromReg /t REG_SZ /f /d "Public"
net use p: \\192.168.1.52\public

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#office /v _LabelFromReg /t REG_SZ /f /d "Office"
net use o: \\192.168.1.52\office

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#drives /v _LabelFromReg /t REG_SZ /f /d "Drives"
net use y: \\192.168.1.52\drives

EXIT

Нет способа сделать это, используя только net use команда (см. документацию), но есть способ сделать это, используя скрипт vb, как описано Гаем Томасом на computerperformance.co.uk здесь

В случае, если сайт его парня исчезнет позже, вот его копия его сценария:

' NameDrive.vbs
' VBScript to map a network drive.
' Authors Guy Thomas and Barry Maybury
' Version 1.4 - April 2010
' ----------------------------------------'
'
Option Explicit
Dim objNetwork, strDrive, objShell, objUNC
Dim strRemotePath, strDriveLetter, strNewName
'
strDriveLetter = "W:"
strRemotePath = "\\192.168.1.2\example\sharename"
strNewName = "Example Readable Label"

' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath

' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName

Wscript.Echo "Check : "& strDriveLetter & " for " & strNewName
WScript.Quit

' End of Example VBScript.

Замечания:

  • Если W: не работает для вас, попробуйте W:\ (с косой чертой)
  • Этот метод установит метку буквы диска навсегда, т. Е. Если вы позже подключите другой ресурс к той же букве диска, этот новый ресурс также получит старую метку. Это можно исправить, либо всегда используя этот сценарий при подключении общих ресурсов, либо удаляя ключ в реестре, чтобы вернуться к нормальному поведению.

Возвращаясь к нормальному поведению:

  • Запустите regedit, а затем нажмите Edit (меню) -> Find -> Example Readable Label
  • Или перейдите в regedit к HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 -> _LabelFromReg
  • Просто удалите значение - оставьте это поле пустым. В результате в будущем отображение дисков вернется к традиционному стилю отображения.

Все это более подробно описано на сайте Гая.

@echo off
echo --------------------------delete map drive all------------------------
net use * /delete /yes
echo ------------------create drive --------------------------------
net use m: \\172.16.0.136\Source /user:aleg\masr masr2006*
net use n: \\172.16.0.136\scanner_bat_test /user:alwq\4288044 masr2006*
echo ---------------------------------------------------

EXIT
Другие вопросы по тегам