Skip to content

Instantly share code, notes, and snippets.

@suusanex
Last active December 17, 2023 02:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suusanex/67610d6d8a7cfd7abca6e0e3108507d8 to your computer and use it in GitHub Desktop.
Save suusanex/67610d6d8a7cfd7abca6e0e3108507d8 to your computer and use it in GitHub Desktop.
vhdxファイルを作成してアタッチし、DevDriveとしてフォーマットするバッチファイルです。
@REM vhdxファイルを作成し、それをアタッチしてDevDriveとしてフォーマットするバッチファイルです。
@REM DevDrive用に指定したドライブレターがすでにある場合、何もせずに終了します。
@echo off
SETLOCAL EnableExtensions
@REM 可変の変数をまとめて設定。このままでも動作するが、必要に応じて変更する。VHDSizeは51200がDevDriveの最小値なので、それ以上の値にすること。
set VHDPath=D:\DevDrive.vhdx
set VHDSize=51200
set VHDFormat=VHDX
set PartitionType=GPT
set FileSystem=NTFS
set VolumeLabel=DevDrive
set DriveLetter=V
set TempFileName=Temp.txt
@REM 管理者権限がない場合にUAC昇格する
openfiles
if %errorlevel% neq 0 (
@powershell start-process "%~0" -verb runas
exit
)
@REM ドライブの存在を確認
if exist %DriveLetter%:\ (
echo %DriveLetter%ドライブが存在します。処理を終了します。
exit /b
)
@REM VHDXファイルを作成する
echo Creating %VHDSize%MB Virtual Hard Disk (VHDX) at %VHDPath%...
(echo create vdisk file="%VHDPath%" maximum=%VHDSize% type=expandable) > %TempFileName%
diskpart /s %TempFileName%
@REM VHDXをマウントし、GPTディスクとして初期化する
echo Attaching VHD...
(echo select vdisk file="%VHDPath%"
echo attach vdisk
echo convert gpt) > %TempFileName%
diskpart /s %TempFileName%
@REM ディスク全体にパーティションを作成し、NTFSでクイックフォーマットし、ドライブレターを割り当てる
echo Creating partition...
(echo select vdisk file="%VHDPath%"
echo create partition primary
echo assign letter=%DriveLetter%) > %TempFileName%
diskpart /s %TempFileName%
del %TempFileName%
@REM VHDXの操作が完了したことを通知する
echo VHDX preparation is complete.
@REM 作成したパーティションを、DevDriveとしてフォーマット
Format %DriveLetter%: /DevDrv /Q /V:%VolumeLabel% /Y
echo DevDrive Created.
@REM スクリプトの終了
ENDLOCAL
exit /b
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
# binary, for any purpose, commercial or non-commercial, and by any
# means.
#
# In jurisdictions that recognize copyright laws, the author or authors
# of this software dedicate any and all copyright interest in the
# software to the public domain. We make this dedication for the benefit
# of the public at large and to the detriment of our heirs and
# successors. We intend this dedication to be an overt act of
# relinquishment in perpetuity of all present and future rights to this
# software under copyright law.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# For more information, please refer to <https://unlicense.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment