SHOJI's Code
 仕事や趣味で書いた各種言語のプログラミングコード(エクセルVBA,PHP,C/C++/C#,JavaScript等)、その他雑記。
2017.10<<123456789101112131415161718192021222324252627282930>>2017.12
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

昔、作ったシステムを整理していたら、スタートアップ用に作ったバッチファイルが出てきた。
懐かしいので載せることにする。

WaitTimer.bat - 指定秒数だけ待つ
@echo off
ping -n %1 127.0.0.1>nul


単純にpingを(1秒ごとに)指定回数自分自身に打ってるだけ。もしかしたら1秒ずれているかも(^^; ま、単純にアプリやサービスの起動待ちのためだったりするので、あまりそこは重要ではない。
使い方はこんな感じ。以下のコマンドで5秒ウェイトする。
call WaitTimer.bat 5


RunTask.bat - 指定したアプリケーションを起動する
@echo off
tasklist|find /I "%1">NUL
if errorlevel 1 goto RUN
echo %time% %2 ALREADY ACTIVATED.
goto END
:RUN
echo %time% ACTIVATING %2...
start %1.lnk
:WAIT
call WaitTimer.bat 2
tasklist|find /I "%1">NUL
if errorlevel 1 goto WAIT
echo %time% ACTIVATED.
:END


指定したアプリケーションが起動していないときは、同名のショートカットでアプリケーションを起動する。tasklistで表示される名称と同じ名前のショートカットを用意する必要がある。
使い方はこんな感じ。
call RunTask.bat Sfwfax32 "FAX Station"


StartService.bat - サービスの開始
@echo off
echo %time% CHEKING %2 RUNNING...
sc query %1|find "RUNNING">NUL
if errorlevel 1 goto STOP
echo %time% %2 ALREADY RUNNING.
goto END
:STOP
call WaitTimer.bat 2
echo %time% STARTING %2...
sc start %1>NUL
:WAIT
sc query %1|find "RUNNING">NUL
if errorlevel 1 goto WAIT
echo %time% STARTED.
:END


指定したサービスが開始されていないときは開始する。使い方はこんな感じ。
call StartService.bat NetDDE "Network DDE"


StopService.bat - サービスの停止
@echo off
echo %time% CHECKING %2 RUNNING...
sc query %1|find "RUNNING">NUL
if not errorlevel 1 goto STOP
echo %time% %2 ALREADY STOPPED.
goto END
:STOP
echo %time% STOPPING %2...
sc stop %1>NUL
:WAIT
sc query %1|find "STOPPED">NUL
if errorlevel 1 goto WAIT
echo %time% STOPPED.
:END


指定したサービスを停止する。

WaitService.bat - 指定したサービスの開始を待つ
@echo off
echo %time% WAITING FOR SERVICE %2 RUNNING...
:WAIT
call WaitTimer.bat 2
sc query %1|find "RUNNING">NUL
if errorlevel 1 goto WAIT
echo %time% OK.


指定したサービスが開始されるまで待つ。

テーマ:プログラミング - ジャンル:コンピュータ
コメント
この記事へのコメント
承認待ちコメント
このコメントは管理者の承認待ちです
2014/08/28(木) 13:46:46 | | #[ 編集]
承認待ちコメント
このコメントは管理者の承認待ちです
2014/09/03(水) 13:18:06 | | #[ 編集]
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2004-2006 SHOJI, Powered By FC2ブログ all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。