仕事を辞めたい、怠け者だからな

仕事を辞めたいとグダグダ言いながらも、やめる手順が面倒だということで結局やめない「からな」の面倒嫌いブログです。日々のことなり、色々書いていきます。自由気まま、やりたいことばかりやっちゃう。

仕事を辞めたい、
怠け者だからな

メインブログです。
ぐだぐだしつつも、
やりたいことに全力全身!

  最高の出会いを求めて
自身の最高の出会いまでの道のり、
方法を書いていきます。

  標準体重を目指して
標準体重を目指して奮闘する!
ダイエットグッズ実践含みます。

【.bat】diskpartなどの他のコマンドラインツールでバッチファイル実行する方法【備忘録】

diskpart のコマンドを利用して

USBメモリの初期化等、簡単に実行できるようにしようと

思っていました。

 

だがしかし、難しい。

-------test.bat---------

diskpart

list disk

------------------------

これを実行すると、diskpartだけの処理で終わってしまう。

 

どうやったら、バッチを実行する事ができるのか?

コマンドラインツールのコマンドを実行する方法はあるのか?

 

とうことで、調べました。

 

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はこのままじゃ上手くいかないようなので

調べないとなぁ…

PCMAX ハッピーメールバナー