[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 【已解决】求助vbs与bat混编修改虚拟盘符的卷标

本帖最后由 kingshui 于 2015-9-9 13:20 编辑

我想改变我用subst创建的虚拟盘符的卷标
已知下面的命令无法改变由subst创建的盘符
  1. @echo off
  2. subst X: c:\personalfiles
  3. wmic logicaldisk where "deviceid='X:'" set volumename="Development"
  4. pause
复制代码
但是可以用这个vbs脚本来改变
  1. Set oShell = WScript.CreateObject("Shell.Application")
  2. oShell.NameSpace("X:\").Self.Name = "Development"
复制代码
实话了VBS不熟悉。。。
我改成这样没有生效:
  1. @echo off
  2. subst X: c:\personalfiles
  3. mshta vbscript:CreateObject("Shell.Application").NameSpace("X:\").Self.Name = "Development"
复制代码
现在想请教下如何修改上面的脚本才能生效?谢谢。

BTW:只想研究批的处理方案。

回复 2# flyinnet9

谢谢回复,但是自己终于搞定了,
  1. :On Error Resume Next
  2. Sub bat
  3. echo off & cls
  4. '&subst X: c:\personalfiles
  5. start wscript -e:vbs "%~f0"
  6. Exit Sub
  7. End Sub
  8. Set oShell = WScript.CreateObject("Shell.Application")
  9. oShell.NameSpace("X:\").Self.Name = "Personal Files"
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

cmd 下label命令可以更改卷标,虚拟盘符的不确认,你可以试一下

TOP

label改不了虚拟盘的卷标的,跟wmic的操作一样。

TOP

mshta 中只处理 %1 的参数,试试这个:
  1. mshta vbscript:CreateObject("Shell.Application").NameSpace("X:\").Self.Name="Development"
复制代码
或者这个:
  1. mshta "vbscript:CreateObject("Shell.Application").NameSpace("X:\").Self.Name = "Development""
复制代码

TOP

  1. mshta VBScript:Execute("CreateObject(""Shell.Application"").NameSpace(""X:\"").Self.Name=""Development"":close")
复制代码
1

评分人数

TOP

回复 4# CrLf
CrLf你的两行我都重新试了下,还是没有起到作用。

TOP

回复 5# pcl_test


    pcl_test大大的起作用了,,我也这样写过,但是没注意双引号的问题。

感谢两位。

TOP

返回列表