我怎样才能从一个批处理文件的驱动器列表?
-
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