none
명령행에서 네트워크 드라이브 이름 바꾸기 RRS feed

  • 질문

  •  

    네트워크상의 컴퓨터 "smb 192.168.1.100"의 공유 폴더 "pub"를

    net use 명령으로 네트워크 드라이브를 연결하면

     

    네트워크 드라이브 이름에 아래와 같이 서버정보가 표시되어 길어집니다.

    "smb (192.168.1.100)'의 pub"

    그래서 윈도우 탐색기에서 오른쪽버튼의 이름바꾸기 메뉴로 이름을 "pub"로 바꿔주는 방법을 쓰고 있는데

    네트워크 드라이브를 여러게 관리하려니 많이 번거롭습니다.

    배치파일로 바꿔주는 방법을 알고 싶습니다.

     

     

    아래 두가지 방법 중 가능한 방법이 있는지 문의 드립니다.

     

    1. net use 명령 사용시 네트워크 드라이브의 이름을 따로 지정할 수 있을까요?

    2. 이미 연결된 네트워크 드라이브의 이름을 바꾸는 명령행에서 바꾸는 방법이 있을까요?

    2007년 11월 19일 월요일 오후 6:37

답변

  • 안녕하세요

    Vbscript로 한방에 해결 할 수 있습니다.

    아래의 script를 참조하시고 실행방법은 command창에서 C:\>test.vbs (batch파일 실행과 동일)

    '--//==========================================
    ' Rename network drive (NameDrive.vbs)
    '--//==========================================
    Option Explicit
    Dim objNetwork, strDrive, objShell, objUNC
    Dim strRemotePath, strDriveLetter, strNewName

     

    strDriveLetter = "W:"    'Network Drive name
    strRemotePath = "\\host\sharedfolder_name"    'shared folder name
    strNewName = "abcd"   '원하시는 이름으로

     

    ' 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.


     

    2007년 11월 20일 화요일 오전 2:26

모든 응답

  • 안녕하세요

    Vbscript로 한방에 해결 할 수 있습니다.

    아래의 script를 참조하시고 실행방법은 command창에서 C:\>test.vbs (batch파일 실행과 동일)

    '--//==========================================
    ' Rename network drive (NameDrive.vbs)
    '--//==========================================
    Option Explicit
    Dim objNetwork, strDrive, objShell, objUNC
    Dim strRemotePath, strDriveLetter, strNewName

     

    strDriveLetter = "W:"    'Network Drive name
    strRemotePath = "\\host\sharedfolder_name"    'shared folder name
    strNewName = "abcd"   '원하시는 이름으로

     

    ' 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.


     

    2007년 11월 20일 화요일 오전 2:26
  • 감사합니다. 말끔하게 해결봤습니다.

    배열을 이용해 네트워크 드라이브를 연결/해제할 수 있도록 수정해봤습니다.

     

    '--//==========================================
    ' Control network drive (NetDrive.vbs)
    '--//==========================================
    Option Explicit
    Dim objNetwork, objShell, i, blnConnect

     

     

    'Start Config

     

    Dim aryNetDrive(3,6)    'set number of network drive   aryNetDrive('Number Of Network Drive, 6)

    blnConnect = True    'map the network drive
    'blnConnect = False    'remove network drive

     

    aryNetDrive(0,0) = "L:"    'Network Drive name
    aryNetDrive(0,1) = "\\host\sharedfolder_name"    'shared folder name
    aryNetDrive(0,2) = "sharedfolder_name"    'rename network drive
    aryNetDrive(0,3) = False    'use other user
    aryNetDrive(0,4) = False    'save account infomation
    aryNetDrive(0,5) = ""    'other user id
    aryNetDrive(0,6) = ""    'other user password

     

    aryNetDrive(1,0) = "M:"    'Network Drive name
    aryNetDrive(1,1) = "\\host\sharedfolder_name"    'shared folder name
    aryNetDrive(1,2) = "sharedfolder_name"    'rename network drive
    aryNetDrive(1,3) = false    'use other user

     

    aryNetDrive(2,0) = "N:" 

    aryNetDrive(2,1) = "\\host\sharedfolder_name

    aryNetDrive(2,2) = "sharedfolder_name" 

    aryNetDrive(2,3) = false 

     

    'End Config

     

     

    Set objNetwork = CreateObject("WScript.Network")
    Set objShell = CreateObject("Shell.Application")
    For i = 0 To UBound(aryNetDrive, 1) -1
     If blnConnect Then
      'Section to map the network drive
      If aryNetDrive(i,3) Then
       objNetwork.MapNetworkDrive aryNetDrive(i,0), aryNetDrive(i,1), aryNetDrive(i,4), aryNetDrive(i,5), aryNetDrive(i,6)
      Else
       objNetwork.MapNetworkDrive aryNetDrive(i,0), aryNetDrive(i,1)
      End If
      'Section which actually (re)names the Mapped Drive
      objShell.NameSpace(aryNetDrive(i,0)).Self.Name = aryNetDrive(i,2)
     Else
      'Section to remove network drive
      objNetwork.RemoveNetworkDrive aryNetDrive(i,0)
    End If
    Next
     

    'On Error Resume Next
    'Wscript.Echo "Error # " & CStr(Err.Number) & " " & Err.Description
    'Err.Clear

     

    'WScript.Quit

    2007년 11월 20일 화요일 오전 8:47