中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么用Bat实现更改驱动器盘符!
« [1] [2] »
作者:
标题: 怎么用Bat实现更改驱动器盘符! 上一主题 | 下一主题
newaifi
初级用户





积分 154
发帖 67
注册 2006-10-31
状态 离线
『楼 主』:  怎么用Bat实现更改驱动器盘符!

今天听一群里的同志问此问题。想想WIN下面好像没有对驱动器直接操作的WIN命令。。

比如原本的盘符是D: 现在我想把这个D盘改成E盘。。请问大家用什么命令实现。

2006-11-4 14:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
skyearth
初级用户





积分 34
发帖 13
注册 2006-7-20
状态 离线
『第 2 楼』:  

试试PUSHD D:吧!
如果要返回原地,则用POPD即可!

例如:当前在C:
PUSHD D:
REM 显示D盘上的文件
DIR /w
POPD
仍会在C盘

2006-11-4 23:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 3 楼』:  

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'>"
2006-11-4 23:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 4 楼』:  

原来是 mountvol.exe

  Quote:
C:\WINDOWS\system32>mountvol.exe /?
创建、删除或列出卷装载点。

MOUNTVOL [drive:]path VolumeName
MOUNTVOL [drive:]path /D
MOUNTVOL [drive:]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'>"
2006-11-5 00:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 5 楼』:  

好像2003的增强了

  Quote:
Mountvol
更新日期: 01/21/2005
  
相关链接
• Dir
• Net use
• 命令行参考 A-Z
• Command
  

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

语法
mountvol [Drive:]Path VolumeName

mountvol [Drive:]Path/d

mountvol [Drive:]Path/l

mountvol [Drive:]Path/p

mountvol/r

mountvol/n

mountvol/e

mountvolDrive:/s

参数
[ Drive:]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'>"
2006-11-5 00:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 6 楼』:  


@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
本版已有过讨论,建议没事多翻翻老贴:[已结]如何用批处理隐藏磁盘  

2006-11-5 00:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
voiL
中级用户





积分 384
发帖 189
注册 2005-10-19
状态 离线
『第 7 楼』:  

好像有人误解了楼主的意思哦.

2006-11-5 00:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
newaifi
初级用户





积分 154
发帖 67
注册 2006-10-31
状态 离线
『第 8 楼』:  

感谢各位兄台的指导。

没想到WIN下还是有对磁盘卷直接操作的命令。看样子是本人忽略了。

2006-11-5 06:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 9 楼』:  

我也来一个(权当玩笑啊),哈哈……
G:\>晕:
系统找不到指定的驱动器。

G:\>subst 晕: g:\

G:\>晕:

晕:\>md 晕:\再晕

晕:\>cd 晕:\再晕




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-8 08:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
holee
初级用户





积分 53
发帖 27
注册 2005-7-18
状态 离线
『第 10 楼』:  

在Windows 下面用diskpart.
example:
用list volume 可以看到D盘的Volume 为Volume 2的话。
diskpart
select disk 0
select volume 2
assgin letter=E
exit 就可以了

2006-11-11 12:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 11 楼』:  



  Quote:
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 就可以了


  这个方法好强啊~顶了~


2006-11-11 14:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 12 楼』:  

  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没商量。
考虑问题复杂化,解决问题简洁化。
2006-11-11 21:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 13 楼』:  

卧虎藏龙



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-11-11 21:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 14 楼』:  

藏龙卧虎

2006-11-13 07:44
查看资料  发送邮件  发短消息 网志  OICQ (33899867)  编辑帖子  回复  引用回复
honhaizh
初级用户





积分 35
发帖 18
注册 2006-4-26
状态 离线
『第 15 楼』:  

diskpart很实用

2006-11-16 19:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: