.bat 스크립트를 사용하여 매핑된 드라이브 이름을 재정의하시겠습니까?

.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 워크스테이션에서 실행됩니다.

어떤 도움이라도 주시면 감사하겠습니다.

답변1

VBScript를 사용하지 않고 명령줄에서 이를 수행하는 방법이 있습니다. 명령 을 사용하여 레지스트리를 편집할 수 있습니다 reg add. IMHO, 이 방법은 VBScript를 사용하여 레이블을 변경하는 것보다 낫습니다. 레이블을 드라이브 문자와 연결하지 않고 오히려 레이블을 공유와 연결하기 때문입니다. 따라서 최종 사용자가 나중에 드라이브를 말하기 위해 공유 연결을 끊고 X:수동으로 마운트하면 레이블이 여전히 올바르게 표시됩니다(스크립트에서 할당한 대로).xraysR:

작성하게 될 키는 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

답변2

명령만 사용하여 이 작업을 수행할 수 있는 방법은 없습니다 net use(참조:선적 서류 비치), 그러나 컴퓨터성능.co.uk의 Guy Thomas가 설명한 대로 vb 스크립트를 사용하여 이를 수행하는 방법이 있습니다.여기

나중에 그의 사이트가 사라질 경우를 대비해 그의 스크립트 사본은 다음과 같습니다.

' 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
  • 값을 삭제하고 비워 두세요. 결과적으로 향후 드라이브 매핑은 전통적인 매핑 스타일로 되돌아가게 됩니다.

이 모든 것은 Guy의 웹사이트에 더 자세히 설명되어 있습니다.

답변3

@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

관련 정보