diskpart のコマンドを利用して
USBメモリの初期化等、簡単に実行できるようにしようと
思っていました。
だがしかし、難しい。
-------test.bat---------
diskpart
list disk
------------------------
これを実行すると、diskpartだけの処理で終わってしまう。
どうやったら、バッチを実行する事ができるのか?
とうことで、調べました。
実行させるには、テキストファイルなどを書き出して
それを読み込んで実行させる方法が一番。
そのように出ました。
では、どうするのか?
実際にプログラム見ましょう。
-------------------test.bat----------------------------
echo off
rem バッチファイルのディレクトリに移動
cd /d %~dp0
rem diskpartのコマンド、list disk をテキストファイルに書き出し
echo list disk > Listdisk.txt
rem 書き出したファイルを読み込んで実行
diskpart -s Listdisk.txt
set /P USR_INPUT_STR="USBメモリのディスク番号を数値で入力してください。 "
set /P STR_INPUT="処理を開始します。よろしいですか?(Y/N): "
rem 「Y」または「y」を選択した場合に、NextLabelに飛ぶ。
IF "%STR_INPUT%" == "y" goto NextLabel
IF "%STR_INPUT%"=="Y" goto NextLabel
rem 「Y」または「y」じゃない場合は、終了させる
echo "終了します"
pause
exit
:NextLabel
rem 実行する内容をselectdisk.txtに書き出し。「>」は新規作成「>>」は追記
echo select disk %USR_INPUT_STR% > selectdisk.txt
echo clean>> selectdisk.txt
echo create partition primary >> selectdisk.txt
echo format fs=ntfs quick >> selectdisk.txt
echo active >> selectdisk.txt
echo assign letter=r >> selectdisk.txt
echo exit >> selectdisk.txt
rem diskpartにテキストファイルの内容を実行させる
diskpart -s selectdisk.txt
rem 画面はすぐ閉じない。キーを押して終了させる。
pause
------------------------------------------------------------
ざっくり、コメントと共に書きましたが
どうでしょうか?
(たぶん上手く動くと思いますが…)
これをそのまま利用すれば、
telnetで入った後のコマンドや
その他今までできなかったコマンド入力が
できるようになるかも!?と
結構嬉しくなっちゃいましたw
いやぁ、本当に面倒臭がりなもので。
telnetはこのままじゃ上手くいかないようなので
調べないとなぁ…