我试图得到一个系统升级所有的映射驱动器的列表,并想获得通过批处理文件,此信息。我怎样才能做到这一点?

有关加分点: 我怎么能脚本这些驱动器的新服务器上的映射?

有帮助吗?

解决方案

当前映射列表将通过

被返回
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