Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何从批处理文件中获取驱动器列表?_Batch File_Windows Server 2003_Drive Mapping - Fatal编程技术网

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

Batch file 如何从批处理文件中获取驱动器列表?,batch-file,windows-server-2003,drive-mapping,Batch File,Windows Server 2003,Drive Mapping,我正在尝试获取系统升级的所有映射驱动器的列表,并希望通过批处理文件获取此信息。我该怎么做 奖励积分: 如何在新服务器上为这些驱动器的映射编写脚本?您可以使用vbscript执行此操作 Set objFSO = CreateObject("Scripting.FileSystemObject") Set colDrives = objFSO.Drives For Each objDrive in colDrives Wscript.Echo "Drive letter: " &

我正在尝试获取系统升级的所有映射驱动器的列表,并希望通过批处理文件获取此信息。我该怎么做

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

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

列出映射驱动器的步骤

Net Use
映射新驱动器的步骤

Net Use G: \\Server\Path

当前映射的列表将由返回

net use
传输的工作原理是这样的(为了好玩,让我们用批处理脚本而不是VBScript):

输出如下所示:

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实际上,“乐趣”这个词在这里并不合适

您的第一个脚本将列出电脑上的所有驱动器,包括任何本地驱动器,而不仅仅是映射的网络驱动器。您可以检查objDrive.DriveType以确保它是网络驱动器(DriveType=3)。哇!你是未来派来拯救/毁灭我们的编码机器人吗?:)不。至少在一个方面,这个假设是错误的。;-)事实上,我以前从未在批处理脚本中执行过类似的操作,但嘿,它似乎可以工作。:)恐怕我和乔尔在一起……你是来毁灭我们所有人的……伙计!,dos环境真的有一些缺陷。顺便说一句:塔玛拉克是不是你的化身被意外翻转了?还是你反对黑客?@Keng:我想说,它并不比Perl难看多少(尽管功能不如Perl)。但这只是一种观点我不会说我的化身颠倒了。滑翔机在任何方向都是稳定的,所以我认为方向在这里并不重要。
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