• ベストアンサー

バッチファイルでdiskpart.exe以降を実行

バッチファイルで以下のようなプログラムを書いたのですが、diskpart.exeが開いた状態で進みません。 これをなんとかして進むようにしたいです。 diskpart.exe list volume どうやったらバッチファイルでdiskpart.exeを開き、次のlist volumeを実行できますか?。 プログラムをご存知の方、どうかご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.3

既に指摘されていますが、バッチファイルなどから diskpart を利用する際には、別途 diskpart 用のスクリプトファイルを書き、/s オプションで読み込むようにすると良い様です。 例えば、 list volume と list.txt に書いておき、下記の様なルーチンをバッチファイル側で実行します。 FOR /F "tokens=3-4" %%A IN ('diskpart /s list.txt') DO ECHO %%A %%B

その他の回答 (2)

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.2

実行ファイルを   startコマンド で呼び出してはいかがでしょう。 start diskpart.exe list volume 実行ファイルの結果を何らかの形で処理する必要があるのでしたらウェイトを入れるなどして 次のコマンドまで待ち時間を作りましょう。 start diskpart.exe ping localhost list volume など *pingコマンドはウェイト代わりにローカルホストを呼び出しているだけです。  出力デバイスにnulを指定することでウェイト中に画面への表示を無くせます。  ping localhost > nul

iwnmsj
質問者

補足

ご回答ありがとうございます。 一度試してみたが、やはりDISKPAET>の表示から進みませんでした。 そちらの環境で出来ているのであれば、何か私のほうの環境が悪いとかなのでしょうか。 そちらでは実行できますか?。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

http://support.microsoft.com/kb/300415/ja こちらに紹介されている「スクリプトの作成」で対応されたらいかがでしょう。 スクリプトの最後にexitをお忘れなく。