DISM.CMDのコマンド解説

(チェックボックスにチェックを入れると解説が表示される)

setlocal
「このバッチファイルで宣言した変数は、このバッチファイル内だけのローカル変数である」と言う意味の定型句。

set WinPEDir=%~dp0winpe_x86
%~dp0は、このバッチファイルの存在するディレクトリのパスをあらわす。(末尾に\が付き、""で囲まない)
その直下にwinpe_x86というサブフォルダを作ると仮定した時、そのフルパスをWinPEDirという変数に収めろという意味。

if exist %WinPEDir%\nul rd /s /q %WinPEDir%
もしもWinPEDirというフォルダが既に存在していたら削除しろという意味。
これはこの直後に呼び出すcopype.cmdにおいて、WinPEDirフォルダが事前に存在していると失敗してしまうため、それを防ぐ予防策である。確認せずに削除するので大事なファイルなどをWinPEDirフォルダ内に置いておかないように注意すること。

call copype x86 %WinPEDir%
copype.cmdバッチファイルを呼び出す。

copy %WinPEDir%\winpe.wim %WinPEDir%\ISO\sources\boot.wim
copype.cmdによってWinPEDirフォルダに作製されたwinpe.wimを、WinPEDir下のISO\sourcesフォルダに、boot.wimという名前に変えてコピーする。

Dism /Mount-Wim /WimFile:%WinPEDir%\ISO\sources\boot.wim /index:1 /MountDir:%WinPEDir%\mount
Dism.exeを使って、直前のコマンドで用意したboot.wimをマウントする。このとき/MountDir:オプションで指定したフォルダに、マウントしたwimファイルの中身が展開される。

call %~dp0IME.cmd
このバッチファイルと同じ階層にあるIME.cmdを呼び出す。

copy "C:\Program Files\Windows AIK\Tools\x86\imagex.exe" %WinPEDir%\mount\Windows\System32\
WindowsAIKが持つimagex.exeはバックアップやHDDの交換時などに役立つアプリケーションなので、WinPEに取り込むために、mountフォルダ下のサブフォルダにコピーしておく。

Dism /Unmount-Wim /MountDir:%WinPEDir%\mount /Commit
マウントしてあるwimファイルをアンマウントする。このとき/Commitオプションを付けると、ここまでにmountフォルダ内に加えてきた変更内容が反映された形でwimファイルが再構築される。なおこの操作によってmountフォルダ内は空に戻る。

oscdimg -n -b%WinPEDir%\etfsboot.com %WinPEDir%\ISO %WinPEDir%\WinPE2.iso
oscdimgによって、WinPEDir下のISOフォルダの中身が、ISOファイルに変換される。ブート用のファイルとしてetfsboot.comが指定されている。

endlocal
文頭のsetlocalと対になって使われる定型句で、ここでsetlocalの効用を終了するという意味。

元のページに戻る