中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 19:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么用Bat实现更改驱动器盘符!
楼 主 怎么用Bat实现更改驱动器盘符! 发表于 2006-11-04 14:15 ·  中国 浙江 温州 电信
初级用户
★★
积分 154
发帖 67
注册 2006-10-31 00:50
UID 68933
性别 男
状态 离线
今天听一群里的同志问此问题。想想WIN下面好像没有对驱动器直接操作的WIN命令。。

比如原本的盘符是D: 现在我想把这个D盘改成E盘。。请问大家用什么命令实现。
2 发表于 2006-11-04 23:14 ·  中国 广东 东莞 电信
初级用户
积分 34
发帖 13
注册 2006-07-20 19:11
UID 58929
性别 男
状态 离线
试试PUSHD D:吧!
如果要返回原地,则用POPD即可!

例如:当前在C:
PUSHD D:
REM 显示D盘上的文件
DIR /w
POPD
仍会在C盘
3 发表于 2006-11-04 23:27 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
drvmount,好像是这个命令。忘记了

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
4 发表于 2006-11-05 00:08 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
原来是 mountvol.exe
C:\WINDOWS\system32>mountvol.exe /?
创建、删除或列出卷装载点。

MOUNTVOL path VolumeName
MOUNTVOL path /D
MOUNTVOL path /L

path 指定装入点将驻留的现有 NTFS 目录。
VolumeName 指定装入点的目标的卷名称。
/D 从指定的目录中删除卷装入点。
/L 列出指定目录的已装入的卷名称。


C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
5 发表于 2006-11-05 00:22 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
好像2003的增强了

Mountvol
更新日期: 01/21/2005

相关链接
• Dir
• Net use
• 命令行参考 A-Z
• Command


Mountvol
创建、删除或列出卷装入点。Mountvol 是一种不需要驱动器号而链接卷的方式。

语法
mountvol Path VolumeName

mountvol Path/d

mountvol Path/l

mountvol Path/p

mountvol/r

mountvol/n

mountvol/e

mountvolDrive:/s

参数
Path

指定装入点所在的现有 NTFS 目录文件夹。

VolumeName

指定装入点目标卷的卷名。卷名格式为 \\?\Volume{GUID}\,其中,{GUID} 是全局唯一标识符 (GUID)(例如,\\?\Volume\{2eca078d-5cbc-43d3-aff8-7e8511f60d0e}\)。

/d

从指定文件夹中删除卷装入点。

/l

列出指定文件夹的装入卷名。

/p

从指定的目录中删除卷装入点、卸载基本卷、使基本卷脱机,使其不可安装。如果其他过程使用的是该卷,则 mountvol 将在卸载该卷之前关闭所有打开的句柄。使用 /p 卸载的卷将在卷列表中作为 NOT MOUNTED UNTIL A VOLUME MOUNT POINT IS CREATED(创建卷装入点后才安装)列出。如果该卷的装入点不止一个,则使用 /p 之前请使用 /d 删除其他装入点。通过指派卷装入点,可以重新安装基本卷。

/r

删除系统中不再存在的卷装入点目录和注册表设置。这样,不但可以防止自动装入系统中以前的卷,而且可以防止其在添加回系统时被授予以前的卷装入点。

/n

禁止自动装入新的基本卷。新卷添加到系统时不会自动装入。

/e

重新启用新基本卷的自动装入。

/s

仅限于基于 Itanium 的计算机。在指定驱动器上装入 EFI 系统分区。

/?

在命令提示符下显示帮助。

注释
• 如果用完了可用的驱动器号,则装入无驱动器号的本地卷。

• 如果需要在不重新格式化或更换硬盘的情况下扩展卷空间,可向其他卷中添加装入路径。

• 如果使用一个具有多装入路径的卷,其好处在于可以使用单个驱动器号(如 C:)访问所有的本地卷。虽然可以装入本地卷并且为它们指派驱动器号,但是不需要记住哪个卷对应哪个驱动器号。



注册表里
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
6 发表于 2006-11-05 00:27 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线

@echo off
set old=d:
set new=e:
pushd %new% 2>nul && echo %new%盘已经存在! && pause && goto :eof
for /f %%i in ('mountvol %old% /l') do set "vol=%%i"
mountvol %old% /d
mountvol %new% %vol%
popd


本版已有过讨论,建议没事多翻翻老贴:如何用批处理隐藏磁盘
7 发表于 2006-11-05 00:34 ·  中国 广东 深圳 深圳坂田数据中心BGP多线
中级用户
★★
积分 384
发帖 189
注册 2005-10-19 13:12
UID 43709
性别 男
状态 离线
好像有人误解了楼主的意思哦.
8 发表于 2006-11-05 06:10 ·  中国 浙江 温州 电信
初级用户
★★
积分 154
发帖 67
注册 2006-10-31 00:50
UID 68933
性别 男
状态 离线
感谢各位兄台的指导。

没想到WIN下还是有对磁盘卷直接操作的命令。看样子是本人忽略了。
9 发表于 2006-11-08 08:01 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
我也来一个(权当玩笑啊),哈哈……


G:\>晕:
系统找不到指定的驱动器。

G:\>subst 晕: g:\

G:\>晕:

晕:\>md 晕:\再晕

晕:\>cd 晕:\再晕
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
10 发表于 2006-11-11 12:12 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 53
发帖 27
注册 2005-07-18 20:40
UID 40849
状态 离线
在Windows 下面用diskpart.
example:
用list volume 可以看到D盘的Volume 为Volume 2的话。
diskpart
select disk 0
select volume 2
assgin letter=E
exit 就可以了
11 发表于 2006-11-11 14:20 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by holee at 2006-11-11 12:12:
在Windows 下面用diskpart.
example:
用list volume 可以看到D盘的Volume 为Volume 2的话。
diskpart
select disk 0
select volume 2
assgin letter=E
exit 就可以了


  这个方法好强啊~顶了~
12 发表于 2006-11-11 21:05 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  diskpart 是个功能强大的磁盘和分区管理程序,下面是系统自带的帮助文件ntcmds.chm里关于 diskpart 的介绍:

DiskPart.exe 是一种文本模式命令解释程序,它使您能够通过使用脚本或从命令提示符直接输入来管理对象(磁盘、分区或卷)。在磁盘、分区或卷上使用 DiskPart.exe 命令之前,必须首先列出然后选中要给予其焦点的对象。当某个对象具有焦点时,键入的任何 DiskPart.exe 命令都会作用到该对象。

利用 list disk、list volume 和 list partition 命令,可以列出可用对象并确定对象编号或驱动器号。list disk 和 list volume 命令显示计算机上的所有磁盘和卷。而 list partition 命令只显示具有焦点的磁盘上的分区。使用 list 命令时,具有焦点的对象旁边出现一个星号 (*)。可以按编号或按驱动器号选择对象,例如,磁盘 0、分区 1、卷 3 或卷 C。

选择对象时,焦点一直保留在那个对象上,直到选中不同的对象。例如,如果在磁盘 0 上设置了焦点,并且选择磁盘 2 上的卷 8,焦点就从磁盘 0 转移到磁盘 2 上的卷 8。有些命令会自动更改焦点。例如,如果创建了新分区,焦点就自动转移到新分区上。

只能在选定磁盘上的分区上设置焦点。某个分区具有焦点时,相关的卷(如果有的话)也具有焦点。某个卷具有焦点时,如果该卷映射到某个特定分区,则相关的磁盘和分区也具有了焦点。如果不是这样,则说明磁盘和卷上的焦点丢失。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
13 发表于 2006-11-11 21:55 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
卧虎藏龙
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
14 发表于 2006-11-13 07:44
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
UID 69523
性别 男
状态 离线
藏龙卧虎
15 发表于 2006-11-16 19:12 ·  美国 科罗拉多州 阿拉珀霍 利特尔顿 TW_Telecom控股股份有限公司
初级用户
积分 35
发帖 18
注册 2006-04-26 13:31
UID 54481
状态 离线
diskpart很实用
论坛跳转: