如何从批处理文件中获取驱动器列表?

时间:2009-05-08 16:27:08

标签: batch-file windows-server-2003 drive-mapping

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

奖励积分: 如何在新服务器上编写这些驱动器的映射?

3 个答案:

答案 0 :(得分:3)

将返回当前映射列表
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 实际上,“有趣”在这里不是正确的词。 ; - )

答案 1 :(得分:2)

列出映射的驱动器

Net Use

映射新驱动器

Net Use G: \\Server\Path

答案 2 :(得分:1)

您可以使用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"