diskpart スクリプトと例

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012

ボリュームの作成やディスクのダイナミック ディスクへの変換など、ディスク関連のタスクを自動化するスクリプトを実行するには、diskpart /s を使います。 ブート ボリューム以外のボリュームの作成をサポートしていない無人セットアップや Sysprep を使用して Windows を展開する場合は、これらのタスクをスクリプト化しておくと便利です。

diskpart スクリプトを作成するには、実行する Diskpart コマンドを含むテキスト ファイルを作成します。1 行に 1 つのコマンドを記述し、空行を入れないようにします。 行頭に rem を付けると、その行をコメントにすることができます。 たとえば、次のスクリプトでは、ディスクをワイプし、Windows 回復環境用に 300 MB のパーティションを作成しています。

select disk 0
clean
convert gpt
create partition primary size=300
format quick fs=ntfs label=Windows RE tools
assign letter=T

  • diskpart スクリプトを実行するには、コマンド プロンプトで次のコマンドを入力します。この scriptname はスクリプトを含むテキスト ファイルの名前です。
diskpart /s scriptname.txt
  • diskpart のスクリプト出力をファイルにリダイレクトするには、次のようにコマンドを入力します。この logfile は diskpart が出力を書き込むテキスト ファイルの名前です。
diskpart /s scriptname.txt > logfile.txt

解説

  • スクリプトの一部として diskpart コマンドを使うときは、すべての diskpart 操作を 1 つの diskpart スクリプトで行うことをお勧めします。 いくつかの diskpart スクリプトを続けて実行することもできますが、スクリプトとスクリプトの間は 15 秒以上空ける必要があります。これは、以降のスクリプトで diskpart コマンドを再び実行する前に、直前の実行のシャットダウンを完了するための時間です。 このようにしないと、以降のスクリプトが失敗することがあります。 timeout /t 15 コマンドを diskpart スクリプトと共にバッチ ファイルに追加することで、連続した diskpart スクリプト間に休止時間を追加できます。

  • diskpart を起動すると、diskpart のバージョンとコンピューター名がコマンド プロンプトに表示されます。 スクリプト化されたタスクを実行しようとしたときに diskpart でエラーが発生すると、既定では、diskpart はスクリプトの処理を停止してエラー コードを表示します (noerr パラメーターが指定されていない場合)。 ただし、構文エラーが発生したときは、noerr パラメーターが使用されたかどうかにかかわらず、diskpart は常にエラーを返します。 noerr パラメーターを使用すると、ディスクの総数に関係なく、単一のスクリプトで、すべてのディスクのすべてのパーティションを削除するなどの便利なタスクを実行できるようになります。