Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
从命令行而不是Windows资源管理器命名网络驱动器_Windows_Batch File_Powershell_Command Line_Cmd - Fatal编程技术网

从命令行而不是Windows资源管理器命名网络驱动器

从命令行而不是Windows资源管理器命名网络驱动器,windows,batch-file,powershell,command-line,cmd,Windows,Batch File,Powershell,Command Line,Cmd,我正在编写一个批处理文件,将多个服务器映射到我电脑上的驱动器。使用NET USE命令,我成功地映射了驱动器 在Windows资源管理器中查看时,每个驱动器都显示字母分配和服务器名称。我还希望在Explorer视图中为每个服务器显示一个用户友好的纯英文名称(这与卷标不同)。我可以在资源管理器中分别右键单击每个驱动器并重命名,但这有点冗长 是否有任何方法可以从命令提示符(从而从批处理文件)将名称指定给驱动器,而不是在资源管理器中单击鼠标右键并重命名?您可以在Powershell中这样做: $rena

我正在编写一个批处理文件,将多个服务器映射到我电脑上的驱动器。使用NET USE命令,我成功地映射了驱动器

在Windows资源管理器中查看时,每个驱动器都显示字母分配和服务器名称。我还希望在Explorer视图中为每个服务器显示一个用户友好的纯英文名称(这与卷标不同)。我可以在资源管理器中分别右键单击每个驱动器并重命名,但这有点冗长


是否有任何方法可以从命令提示符(从而从批处理文件)将名称指定给驱动器,而不是在资源管理器中单击鼠标右键并重命名?

您可以在Powershell中这样做:

$rename = new-object -ComObject Shell.Application
$rename.NameSpace("X:\").Self.Name = "DriveLabel"
只需将X替换为要设置标签的驱动器号即可

或者,如果您不想使用Powershell,可以执行以下操作:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##computername#sharename" /f /v "_LabelFromReg" /t REG_SZ /d "DriveLabel"
当然,您必须用服务器名替换computername,用共享名替换sharename,用标签替换Drivelabel。映射网络驱动器的“标签”值存储在注册表中

查看HKEY_用户\*SID*\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2。应该有一个表示映射的网络驱动器的键。如果有一个名为_LabelFromReg的值,则有一个自定义标签,如果该值不存在,则使用默认标签,例如Windows(\server\share)(Z:)


您还应该能够使用组策略首选项、网络文件夹和快捷方式来获取所需的标签。

请注意,每个标签的跟随者数量相对较少。您可能想为MS Windows的版本添加一个,如果您可以考虑使用PuthBeSk的解决方案,请为此添加标签。祝你好运