无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2521|回复: 19
打印 上一主题 下一主题

[求助] 如何在挂载vhd或vhdx虚拟硬盘时指定固定盘符

  [复制链接]
跳转到指定楼层
1#
发表于 2023-7-9 00:02:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题:请教如何在命令行中挂载vhd或vhdx虚拟硬盘时指定固定盘符
2#
发表于 2023-7-9 02:00:35 | 只看该作者
本帖最后由 yiyu2012 于 2023-7-9 13:46 编辑


set Addisk=Z:
set vhdfile=D:\OS\OS.vhd
cmd /c "echo select vdisk file="%vhdfile%" & echo attach vdisk & echo sel par 1 &echo assign letter=%Addisk% &echo exit"|diskpart.exe


点评

之前用的这个,没成功,一条一条命令执行也没有成功 @echo off echo select vdisk file="D:\_VHD\BD1.vhdx" >vhdsel echo attach vdisk >>vhdsel echo assign letter=L >>vhdsel echo list disk >>vhdsel disk  详情 回复 发表于 2023-7-9 09:50
之前用类似命令试过,在用assign分配盘符时,提示需要选择卷,这里应该只是选择了虚拟磁盘,而不是卷。所以没有成功  发表于 2023-7-9 09:38
谢谢分享  详情 回复 发表于 2023-7-9 06:37
回复

使用道具 举报

3#
发表于 2023-7-9 06:37:45 | 只看该作者
yiyu2012 发表于 2023-7-9 02:00
set Addisk=指定盘符,set vhdfile=vhd(x)路径,cmd /c "echo select vdisk file="%vhdfile%" & echo attac ...

谢谢分享

点评

的确缺了条选择分区以挂载的命令。已改正。  详情 回复 发表于 2023-7-9 13:47
回复

使用道具 举报

4#
发表于 2023-7-9 08:01:25 | 只看该作者
yiyu2012 发表于 2023-7-9 02:00
set Addisk=指定盘符,set vhdfile=vhd(x)路径,cmd /c "echo select vdisk file="%vhdfile%" & echo attac ...

正需要
谢谢分享
回复

使用道具 举报

5#
发表于 2023-7-9 08:06:55 | 只看该作者
是bat吗,运行后没反应
回复

使用道具 举报

6#
 楼主| 发表于 2023-7-9 09:50:43 | 只看该作者
yiyu2012 发表于 2023-7-9 02:00
set Addisk=指定盘符,set vhdfile=vhd(x)路径,cmd /c "echo select vdisk file="%vhdfile%" & echo attac ...

之前用的这个,没成功,一条一条命令执行也没有成功
@echo off
echo select vdisk file="D:\_VHD\BD1.vhdx" >vhdsel
echo attach vdisk >>vhdsel
echo assign letter=L >>vhdsel
echo list disk >>vhdsel
diskpart /s vhdsel
del /f /q vhdsel
exit

点评

指定盘符前须选择分区:  详情 回复 发表于 2023-7-9 11:11
回复

使用道具 举报

7#
发表于 2023-7-9 10:09:15 | 只看该作者
谢谢,一起学习
回复

使用道具 举报

8#
发表于 2023-7-9 11:11:19 | 只看该作者
本帖最后由 hilsonma 于 2023-7-9 14:48 编辑
minchengan 发表于 2023-7-9 09:50
之前用的这个,没成功,一条一条命令执行也没有成功
@echo off
echo select vdisk file="D:\_VHD\BD1.v ...

指定盘符前须选择分区:

  1. @echo off
  2. title vhd连接及分离

  3. echo.
  4. if %1.==. (set /p vhd=请将vhd文件拖放到本窗口后按回车键:) else (set vhd=%1)
  5. if not exist %vhd% ( echo 文件不存在!&timeout 3 >nul&exit )

  6. cmd /c "echo SELECT VDISK FILE=%vhd% & echo ATTACH VDISK & echo sel par 1 & echo assign letter=W"|diskpart.exe

  7. echo.
  8. echo 已连接%vhd%,请不要关闭本窗口!
  9. echo.
  10. echo 现在你可以对vhd进行操作...
  11. echo.
  12. echo 完成对vhd的操作后,回本窗口按任意键即分离vhd并自动退出。
  13. pause>nul
  14. cmd /c "echo SELECT VDISK FILE=%vhd% & echo DETACH VDISK"|diskpart.exe
复制代码

点评

请教下, if %1.==. 这条是起什么作用的?  详情 回复 发表于 2023-7-9 14:07
非常感谢,原来少了sel par 1这一条,也就是通过选择这个虚拟盘挂载后的卷后,才可以分配盘符了。感谢感谢大佬的指教  详情 回复 发表于 2023-7-9 12:01
回复

使用道具 举报

9#
发表于 2023-7-9 11:35:16 | 只看该作者
一起学习一下
回复

使用道具 举报

10#
 楼主| 发表于 2023-7-9 12:01:44 | 只看该作者
hilsonma 发表于 2023-7-9 11:11
指定盘符前须选择分区:

非常感谢,原来少了sel par 1这一条,也就是通过选择这个虚拟盘挂载后的卷后,才可以分配盘符了。感谢感谢大佬的指教
回复

使用道具 举报

11#
发表于 2023-7-9 12:30:16 来自手机 | 只看该作者
可以练习二个区二个盘符
回复

使用道具 举报

12#
发表于 2023-7-9 12:38:05 | 只看该作者
学习下。谢谢
回复

使用道具 举报

13#
发表于 2023-7-9 13:47:38 | 只看该作者

的确缺了条选择分区以挂载的命令。已改正。
回复

使用道具 举报

14#
发表于 2023-7-9 14:07:05 | 只看该作者
hilsonma 发表于 2023-7-9 11:11
指定盘符前须选择分区:

请教下, if %1.==. 这条是起什么作用的?

点评

判断是否存在变量1,也就是是否有拖放文件。 如果是直接点击脚本命令来执行,变量1是空的 如果将一个文件拖放到该脚本文件上来执行,变量1就是拖放的文件的路径  详情 回复 发表于 2023-7-9 14:43
回复

使用道具 举报

15#
发表于 2023-7-9 14:43:13 | 只看该作者
本帖最后由 hilsonma 于 2023-7-9 14:45 编辑
moran 发表于 2023-7-9 14:07
请教下, if %1.==. 这条是起什么作用的?

判断是否存在变量1,也就是是否有拖放文件。
如果是直接点击脚本命令来执行,变量1是空的
如果将一个文件拖放到该脚本文件上来执行,变量1就是拖放的文件的路径

整条命令的意思就是如果存在拖放,就直接把拖放的文件当做vhd文件来操作;如果不存在拖放,就提示并等待拖放。

点评

谢谢解释,弄懂了。  详情 回复 发表于 2023-7-9 22:10
回复

使用道具 举报

16#
发表于 2023-7-9 22:10:04 | 只看该作者
hilsonma 发表于 2023-7-9 14:43
判断是否存在变量1,也就是是否有拖放文件。
如果是直接点击脚本命令来执行,变量1是空的
如果将一个文 ...

谢谢解释,弄懂了。
回复

使用道具 举报

17#
发表于 2023-7-27 23:16:28 | 只看该作者
谢谢
回复

使用道具 举报

18#
发表于 2024-10-28 10:06:03 | 只看该作者
谢谢解释
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-22 04:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表