标题: 怎么用Bat实现更改驱动器盘符!
[打印本页]
作者: newaifi
时间: 2006-11-4 14:15
标题: 怎么用Bat实现更改驱动器盘符!
今天听一群里的同志问此问题。想想WIN下面好像没有对驱动器直接操作的WIN命令。。
比如原本的盘符是D: 现在我想把这个D盘改成E盘。。请问大家用什么命令实现。
作者: skyearth
时间: 2006-11-4 23:14
试试PUSHD D:吧!
如果要返回原地,则用POPD即可!
例如:当前在C:
PUSHD D:
REM 显示D盘上的文件
DIR /w
POPD
仍会在C盘
作者: electronixtar
时间: 2006-11-4 23:27
drvmount,好像是这个命令。忘记了
作者: electronixtar
时间: 2006-11-5 00:08
原来是 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 列出指定目录的已装入的卷名称。 |
|
作者: electronixtar
时间: 2006-11-5 00:22
好像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
作者: 3742668
时间: 2006-11-5 00:27
@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
本版已有过讨论,建议没事多翻翻老贴:
[已结]如何用批处理隐藏磁盘
作者: voiL
时间: 2006-11-5 00:34
好像有人误解了楼主的意思哦.
作者: newaifi
时间: 2006-11-5 06:10
感谢各位兄台的指导。
没想到WIN下还是有对磁盘卷直接操作的命令。看样子是本人忽略了。
作者: redtek
时间: 2006-11-8 08:01
我也来一个(权当玩笑啊),哈哈……
G:\>晕:
系统找不到指定的驱动器。
G:\>subst 晕: g:\
G:\>晕:
晕:\>md 晕:\再晕
晕:\>cd 晕:\再晕
作者: holee
时间: 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 就可以了
作者: lxmxn
时间: 2006-11-11 14:20
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 就可以了 |
|
这个方法好强啊~顶了~
作者: namejm
时间: 2006-11-11 21:05
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。有些命令会自动更改焦点。例如,如果创建了新分区,焦点就自动转移到新分区上。
只能在选定磁盘上的分区上设置焦点。某个分区具有焦点时,相关的卷(如果有的话)也具有焦点。某个卷具有焦点时,如果该卷映射到某个特定分区,则相关的磁盘和分区也具有了焦点。如果不是这样,则说明磁盘和卷上的焦点丢失。
作者: ccwan
时间: 2006-11-11 21:55
卧虎藏龙
作者: hxuan999
时间: 2006-11-13 07:44
藏龙卧虎
作者: honhaizh
时间: 2006-11-16 19:12
diskpart很实用
作者: newaifi
时间: 2007-2-22 09:46
实在是强。。
作者: anqing
时间: 2007-2-22 12:13
这个命令,真强,头一次知道还有它
作者: 6622186
时间: 2007-3-5 13:39
好像比系统的帮助多几个参数, 是不是 2003 当中的, 还是微软没公布.
作者: SCZXCHEN
时间: 2007-3-7 07:13
高.高人
作者: qinbuer
时间: 2007-7-10 18:53
有些变态点的优化工具会禁用了Logical Disk Manager服务,DISKPART便用不上了。
作者: 51dosa
时间: 2008-1-4 17:16
标题: 我该这么复原啊
我用你文件不小心掉了一个字母g,运行后就原来的g盘不见了。
我该这么复原啊
e.bat
@echo off
set old=::lol:
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