batファイル 便利なプログラムを作ってみた ※マインクラフトサーバなど

noriokun4649

どうもみなさん こんばんわ! 今日は珍しくマイクラのサーバーについて話したいと思います。

まぁ、サーバー管理は経験済みな私ですが hamachiとかを使ってサーバーを立ててる人もいるのではないでしょうか?

私がよく経験してるのがそのhamachiでのトラブルです。
hamachiは本来ダブルクリックで起動するはずですが、よく「エンジンへの接続に失敗しました」

と出ることがあります
※現在のバージョンだとエラーの場合自動でチェックした結果は出すが「サービスが起動してない」
 とだけいって対処法は書かれてないんでまぁ、今回のは参考になると思う。

そんなときに便利なものをbatファイルで作って見ました。

一応ソース
 
@echo off
echo hamachiサービスの定期起動チェックを開始します
echo;
sc query | find "Hamachi2Svc" > nul
if not errorlevel 1 (
echo hamachiサービスは実行中です
goto pgok
) else (
echo hamachiサービスは停止中です
goto pgng
)

:pgok
echo hamachiサービス起動チェック:OK
echo hamachiサービス起動チェック:OK %date% %time% >>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo; >>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo hamachiサービス起動中
echo hamachiサービス起動中>>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo; >>%userprofile%\desktop\hamachiサービスチェックログ.txt
goto end
:pgng
echo hamachiサービス起動チェック:NG
echo hamachiサービス起動チェック:NG %date% %time% >>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo; >>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo hamachiサービス停止中、hamachiサービス開始コマンドを実行。
echo hamachiサービス停止中、hamachiサービス開始コマンドを実行。>>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo; >>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo hamachiサービス開始コマンドを実行ログ>>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo ~~~~~~~ここから~~~~~~~>>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo;
sc start Hamachi2Svc > nul
if not errorlevel 1 (
echo サービス実行コマンドが正常に終了しました
echo サービス実行コマンドが正常に終了しました>>%userprofile%\desktop\hamachiサービスチェックログ.txt
) else (
echo ERROR ※hamachiサービスチェックを管理者権限で実行してください
echo ERROR ※hamachiサービスチェックを管理者権限で実行してください>>%userprofile%\desktop\hamachiサービスチェックログ.txt
)
echo ~~~~~~~ここまで~~~~~~~>>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo; >>%userprofile%\desktop\hamachiサービスチェックログ.txt
goto end
:end
echo;
echo hamachiサービスの定期起動チェックを正常に完了しました
echo hamachiサービスの定期起動チェックを正常に完了しました >>%userprofile%\desktop\hamachiサービスチェックログ.txt
echo; >>%userprofile%\desktop\hamachiサービスチェックログ.txt
pause>nul


んで要約すると、SCコマンドでサービスの状況を取得さらにFind関数で取得するのをhamatiのサービスに絞り込む

そしてIFで条件によって操作を振り分け gotoでそれぞれの場所に移動

OKだった場合はそのまま終了

NGだった場合はSCコマンドにstart関数を付け hamatiのサービスを開始するよう指示し

sc start Hamachi2Svc > nul
if not errorlevel 1 (
echo サービス実行コマンドが正常に終了しました
echo サービス実行コマンドが正常に終了しました>>%userprofile%\desktop\hamachiサービスチェックログ.txt
) else (
echo ERROR ※hamachiサービスチェックを管理者権限で実行してください
echo ERROR ※hamachiサービスチェックを管理者権限で実行してください>>%userprofile%\desktop\hamachiサービスチェックログ.txt
)


ここの部分ではスタートを指示してERRORが帰ってきたか成功したかを分けそれによって表示する説明を変えている

あと、「>>%userprofile%\desktop\hamachiサービスチェックログ.txt」これはログをデスクトップに保存するようにしているやつだ

なのでこのbatファイルを実行するたびにログがデスクトップに保存される

もしログを残す機能がいらないのであればログが残らないやつも用意するので

この後のダウンロードリンクからダウンロードしてほしい。

ダウンロードリンク
ログありバージョン
ログなしバージョン

なおダウンロード後実行すると「ダウンロードした人数がうんたらかんたら」と警告をされるが保存を押すと保存できる

実行する際も 
e91d1f580eaa5536517f4b626a9b4a03.png

こう出てくるんで 詳細情報を押して

e8e674479342a03289a7005aa10ea4e6.png

実行で実行できる  
※ウイルスではないので安心してほしい。 なおウイルスの場合「Edge」「IE」ともにダウンロードすらさせてくれないのでw

後は、これを実行すればいいのだがこのbatファイルをスタートアップにでも登録すれば

PC起動のたびにhamachiが作動してるか調べてくれるのでかなり楽だ

とまぁ「batファイルで便利なものを作ってみた」でした!




関連記事
スポンサーサイト
Posted bynoriokun4649

Comments 0

There are no comments yet.

Leave a reply