문제

시스템 업그레이드를 위해 모든 매핑 드라이브 목록을 얻으려고 노력하고 있으며 배치 파일을 통해이 정보를 얻고 싶습니다. 어떻게 할 수 있습니까?

보너스 포인트의 경우 : 새 서버에서 이러한 드라이브의 매핑을 어떻게 스크립트 할 수 있습니까?

도움이 되었습니까?

해결책

현재 매핑 목록은 반환됩니다

net use

전송은 이와 같이 작동합니다 (재미를 위해1 그것의 경우, vbscript 대신 배치 스크립트로 수행하겠습니다) :

@echo off

setlocal EnableDelayedExpansion

set letter=.
set uncpath=.
set colon=.

for /f "delims=" %%l in ('net use') do @(
  for /f "tokens=2" %%t in ("%%l") do @set letter=%%t
  for /f "tokens=3" %%t in ("%%l") do @set uncpath=%%t

  set colon=!letter:~1,1!

  if "!colon!" EQU ":" (
    echo if exist !letter! net use !letter! /delete
    echo net use !letter! !uncpath! /persistent:yes
  )
)

endlocal

출력은 다음과 같이됩니다.

if exist M: net use M: /delete
net use M: \\someserver\someshare /persistent:yes
if exist N: net use N: /delete
net use N: \\otherserver\othershare /persistent:yes

배치 파일에 저장하면 가면 좋습니다.


1 사실, "재미"는 여기서 올바른 단어가 아닙니다. ;-)

다른 팁

매핑 된 드라이브를 나열합니다

Net Use

새 드라이브를 매핑합니다

Net Use G: \\Server\Path

vbscript를 사용하여이를 수행 할 수 있습니다

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives

For Each objDrive in colDrives
    Wscript.Echo "Drive letter: " & objDrive.DriveLetter
Next

네트워크 드라이브를 매핑 할 수 있습니다

Set objNetwork = CreateObject("WScript.Network") 
objNetwork.MapNetworkDrive "G:", "\\Server\Path"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top