VHD をお手軽にアタッチ・デタッチするバッチ
Windows 7 で VHD ファイルがネイティブサポートされるようになったんですが、私も最近になってやっと活用するようになってきました。
7に切り替えてから何年経つんだよ、とorz
VHD を使用するにはディスクの管理ツールを使ってGUIでアタッチするというのが常道ですが、VHDを頻繁に差し替える運用をしていると、これ結構面倒なんですよね。
てことで、こんなバッチを組んでみました。
attach_vhd.bat
IF EXIST %1 ( ECHO SELECT VDISK FILE="%1" > %TMP%\diskpart_script.txt ECHO ATTACH VDISK >> %TMP%\diskpart_script.txt DISKPART /S %TMP%\diskpart_script.txt ) :END
detach_vhd.bat
IF EXIST %1 ( ECHO SELECT VDISK FILE="%1" > %TMP%\diskpart_script.txt ECHO DETACH VDISK >> %TMP%\diskpart_script.txt DISKPART /S %TMP%\diskpart_script.txt ) :END
上記を適当なフォルダに保存しておき、 VHD をアタッチするなら attach_vhd.bat に VHD ファイルをドラッグ&ドロップするだけ。デタッチなら detach_vhd.bat を使います。
VHD をコマンドラインでアタッチ・デタッチするには DISKPART コマンドを使いますが、こいつを自動化するにはスクリプトファイルを食わせる必要があるんですね。
ところが VHD ファイル名はその都度変わるので、あらかじめスクリプトファイルを作っておくことはできない。
だったらスクリプトファイルをバッチで作っちゃえ! てな発想です。
簡単なバッチですけど、ストレスが大きく軽減されます。
あとは UAC だなー。