=======代码开始========

  echo select vdisk file= %VHD文件路径%

  echo attach vdisk

  exit

  分离VHD的脚本,只需要将上述代码中 attach vdisk 命令改写为 detach vdisk 即可。

举个栗子:

@echo off
title 装载卸载VHD
color 2f
mode con cols=60 lines=40

:menu1
echo ==========================
echo 选择要进行的操作,按回车
echo ==========================
echo.
echo 1:装载VHD
echo.
echo 2:卸载VHD
echo.

:choice
set choice=
set /p choice= 请选择:
if not "%choice%"=="" SET Choice=%Choice:~0,1%
if %choice%==1 goto VHDon
if %choice%==2 goto VHDoff

echo 选择无效,重新输入!
echo.
goto choice

:VHDon
  echo select vdisk file= "E:\filevhd.vhd" >vhdsel
  echo attach vdisk>>vhdsel
  echo list disk>>vhdsel
  diskpart /s vhdsel
  del /f /q vhdsel
  exit

:VHDoff
  echo select vdisk file= "E:\filevhd.vhd" >vhdsel
  echo detach vdisk>>vhdsel
  echo list disk>>vhdsel
  diskpart /s vhdsel
  del /f /q vhdsel
  exit

======更方便的代码==================

@echo off
color 3f
title 虚拟磁盘自动挂载与卸载
reg query HKU\S-1-5-20>nul 2>nul||echo 需要管理员权限运行!&&pause>Nul&&exit
rem 全自动挂载与卸载指定虚拟磁盘文件
rem 打开后自动检测并执行,若已挂载,则卸载,若已经卸载,则挂载。
rem 请将虚拟磁盘文件的完整路径写在”filepath=“后面,支持带空格路径。
rem “autoopen=ON” 可在挂载后自动打开虚拟磁盘上的所有分区,“ON”改成其它值则不打开。

rem 设置
set filepath=C:\Users\ABC\VirtualBox VMs\7\asdfa.vhd
set autoopen=ON

if not exist "E:\filevhd.vhd" echo filepath设置错误,请检查并重试!&&pause>nul&&exit
pushd %~dp0\

rem 检测
echo select vdisk file="E:\filevhd.vhd">vdisktemp.txt
echo detail vdisk>>vdisktemp.txt
diskpart /s vdisktemp.txt|(findstr 找不到关联的磁盘号 >nul 2>nul)&&goto :挂载||goto :卸载

:挂载
echo select vdisk file="E:\filevhd.vhd">vdisk-attach.txt
echo attach vdisk>>vdisk-attach.txt
echo detail disk>>vdisk-attach.txt
diskpart /s vdisk-attach.txt>vdisklog.txt
for /f "tokens=3" %%a in ('findstr 磁盘分区 vdisklog.txt') do (if /i "%autoopen%"=="ON" start %%a:)
goto :清理临时文件

:卸载
echo select vdisk file="E:\filevhd.vhd">vdisk-detach.txt
echo detach vdisk>>vdisk-detach.txt
diskpart /s vdisk-detach.txt
goto :清理临时文件

:清理临时文件
del vdisk-attach.txt /f /q>nul 2>nul
del vdisk-detach.txt /f /q>nul 2>nul
del vdisktemp.txt /f /q>nul 2>nul
del vdisklog.txt /f /q>nul 2>nul
exit

快速挂载和分离VHD文件的小脚本的更多相关文章

  1. Windows 7 下快速挂载和分离VHD文件的小脚本

    1.保存以下代码为VDM.vbs,放在Windows\system32下 Dim ArgsSet Args = WScript.ArgumentsTranArgs = " "For ...

  2. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...

  3. 虚拟磁盘VHD文件压缩方法

    问题描述 因工作需要在Mac上跑了一个VirtualBox虚拟win7,使用对win系统友好的vhd格式作为虚拟硬盘.经过一段时间使用发现vhd占用空间远大于虚拟磁盘使用量,想办法减减肥才行. 步骤整 ...

  4. win7挂载VHD文件,模拟多系统并存

    挂载vhd是win7 一个很特殊的功能,xp不能支持,一些服务器版的系统 像2008.2008R2这些可能也是支持的,只是没有测试过. 提前的准备: Win7  wim 镜像文件 Imagex.exe ...

  5. 使用dd命令快速生成大文件或者小文件的方法

    使用dd命令快速生成大文件或者小文件的方法     转载请说明出处:http://blog.csdn.net/cywosp/article/details/9674757     在程序的测试中有些场 ...

  6. 使用dd命令快速生成大文件或者小文件

    使用dd命令快速生成大文件或者小文件 需求场景: 在程序的测试中有些场景需要大量的小文件或者几个比较大的文件,而在我们的文件系统里一时无法找到那么多或者那么大的文件,此时linux的dd命令就能快速的 ...

  7. bat加载和分离VHD

    VHD: vhd:虚拟磁盘格式 [详看 百科 ] 应用: 建立VHD文件,把系统装进VHD,然后从VHD启动. 优点: 因为系统在一个文件里,所以有可删,可移动,可快照的优点. VHD装系统方法: 请 ...

  8. JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(三),多线程断点下载

    一 前言 本篇博客是<JWebFileTrans(JDownload):一款可以从网络上下载文件的小程序>系列博客的第三篇,本篇博客的内容主要是在前两篇的基础上增加多线程的功能.简言之,本 ...

  9. windows之如何把iso文件转换为VHD文件

    (1)Convert-WindowsImage.ps1的下载路径: 链接:https://pan.baidu.com/s/18duFQFW8T_yI2JeQ1lhJgQ 提取码:b5ps autoun ...

随机推荐

  1. CSUOJ 1299 - Number Transformation II 打表预处理水DP

    http://122.207.68.93/OnlineJudge/problem.php?id=1299 第二个样例解释.. 3 6 3->4->6..两步.. 由此可以BFS也可以DP. ...

  2. [置顶] cuzy sdk之起源

    程序员都熟知一句话, “不要重复制造轮子".应该说互联网的繁荣和普及给刚入门的软件工程师还是带来很大的好处的.尤其是github,sourceforge在国内日渐的流行. 在学习iOS和an ...

  3. 深入学习Java中的字符串,代码点和代码单元

    在Java字符串处理时,在使用length和charAt方法时,应该格外小心,因为length返回的是UTF-16编码表示下的代码单元数量,而非我们所认为的字符的个数,charAt方法返回的是指定位置 ...

  4. C语言之函数的声明

    函数的声明 1.函数只能定义在函数外,不能定义在函数内 2.函数不允许重名,C语言中函数没有重载 3.函数只要一经定义,就可以在任意函数中调用 注意:如果函数定义在它调用之后,那么必须在调用之前,先声 ...

  5. Android中使用开源框架PagerSlidingTabStrip实现导航标题

    此开源框架官网地址:https://github.com/astuetz/PagerSlidingTabStrip 可以理解为配合ViewPager使用的交互式页面指示器控件. 话不多说,先上效果图: ...

  6. openresty 前端开发轻量级MVC框架封装一(控制器篇)

    通过前面几章,我们已经掌握了一些基本的开发知识,但是代码结构比较简单,缺乏统一的标准,模块化,也缺乏统一的异常处理,这一章我们主要来学习如何封装一个轻量级的MVC框架,规范以及简化开发,并且提供类似p ...

  7. 毕向东_Java基础视频教程第19天_IO流(11~14)

    第19天-11-IO流(字节流File读写操作) import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...

  8. android 物理按键 监听

    android连接了一个4x4的矩阵键盘,linux内核中注册了按键,在app中监听键盘事件. package com.example.tony.keydemo; import android.sup ...

  9. 第12章 MySQL高级管理

    1.手动更新权限后,需向服务器指出已对权限进行修改: (在MySQL提示符下)flush privileges; 2.查看用户所拥有的权限: 如: show grants for bookorama; ...

  10. BGP服务器您了解多少?

    BGP服务器是主要用在不同的自治系统(AS)之间交换路由信息,它的最主要功能在于控制路由的传播和选择最好的路由.比如,中国网通.中国电信.中国铁通和一些大的民营IDC运营商都具有AS号,全国各大网络运 ...