プロが教える店舗&オフィスのセキュリティ対策術

バッチファイルで以下のようなプログラムを書いたのですが、diskpart.exeが開いた状態で進みません。
これをなんとかして進むようにしたいです。

diskpart.exe
list volume

どうやったらバッチファイルでdiskpart.exeを開き、次のlist volumeを実行できますか?。

プログラムをご存知の方、どうかご教授お願いいたします。

「バッチファイルでdiskpart.exe」の質問画像

A 回答 (3件)

既に指摘されていますが、バッチファイルなどから diskpart を利用する際には、別途 diskpart 用のスクリプトファイルを書き、/s オプションで読み込むようにすると良い様です。




例えば、

list volume

と list.txt に書いておき、下記の様なルーチンをバッチファイル側で実行します。

FOR /F "tokens=3-4" %%A IN ('diskpart /s list.txt') DO ECHO %%A %%B
    • good
    • 0

実行ファイルを


  startコマンド
で呼び出してはいかがでしょう。

start diskpart.exe
list volume

実行ファイルの結果を何らかの形で処理する必要があるのでしたらウェイトを入れるなどして
次のコマンドまで待ち時間を作りましょう。

start diskpart.exe
ping localhost
list volume

など

*pingコマンドはウェイト代わりにローカルホストを呼び出しているだけです。
 出力デバイスにnulを指定することでウェイト中に画面への表示を無くせます。
 ping localhost > nul

この回答への補足

ご回答ありがとうございます。

一度試してみたが、やはりDISKPAET>の表示から進みませんでした。

そちらの環境で出来ているのであれば、何か私のほうの環境が悪いとかなのでしょうか。

そちらでは実行できますか?。

補足日時:2013/10/20 00:41
    • good
    • 0

http://support.microsoft.com/kb/300415/ja

こちらに紹介されている「スクリプトの作成」で対応されたらいかがでしょう。

スクリプトの最後にexitをお忘れなく。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!