배치 파일에서 드라이브 목록을 얻으려면 어떻게해야합니까?
-
20-08-2019 - |
문제
시스템 업그레이드를 위해 모든 매핑 드라이브 목록을 얻으려고 노력하고 있으며 배치 파일을 통해이 정보를 얻고 싶습니다. 어떻게 할 수 있습니까?
보너스 포인트의 경우 : 새 서버에서 이러한 드라이브의 매핑을 어떻게 스크립트 할 수 있습니까?
해결책
현재 매핑 목록은 반환됩니다
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"
제휴하지 않습니다 StackOverflow