[前の記事]« 改行をエスケープするには???
[次の記事]「コマンドは正常に終了しました」を防ぐには »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「TASKKILL,START…サービス/タスクの起動/終了」索引へ

特定のサービスの終了・確認のバッチ処理

417.
特定のサービスを停止、及びその確認をするバッチ
2004年04月19日(月) 22時36分
mic
題名の通りのバッチを作成中です。
OSはWindows2000Server SP4です。
やりたいことは
1.サービス停止(数個のサービス)
2.起動中のサービス表示
3.停止していないものがあれば再度停止を試みる
4.停止完了→正常終了のログ出力
5.停止不可→"xxxxx"のサービスが停止できませんでした。のログ出力
なのですが
2までしか出来ていません。
この先どのように考えていけばよいのか
アドバイスをお願いします。


@echo off
rem 前処理
set workpath=c:\temp\
del %workpath%source.txt
del %workpath%check.txt

net stop "サービス1"
net stop "サービス2"
net stop "サービス3"

rem 起動中のサービスをsource.txtに格納
FOR /F "usebackq tokens=* delims= " %%i IN (`net start`) DO @echo %%i >> %workpath%source.txt
rem source.txtにhikaku.txtのサービスがあるかチェック
FOR /F "tokens=*" %%i IN (%workpath%hikaku.txt) DO find "%%i" %workpath%source.txt >>check.txt
----------
hikaku.txtの中身
サービス1
サービス2
サービス3
420.
解決しました
2004年04月21日(水) 23時18分
mic
どうやら出来そうです。お騒がせしました。

type NUL > %workpath%kekka.txt
for /f "usebackq tokens=* delims= " %%i in (%workpath%hikaku.txt) do net stop "%%i" /y
FOR /F "usebackq tokens=* delims= " %%A IN (`net start`) DO (
for /f "usebackq tokens=* delims= " %%B in (%workpath%hikaku.txt) do (
if "%%A"=="%%B" echo %%A >> %workpath%kekka.txt)
)
for %%F in (%workpath%kekka.txt) do set fsize=%%~zF
if %fsize%==0 goto :OK else goto :NG
:OK
echo 正常
goto end
:NG
echo 異常
FOR /F "usebackq tokens=* delims= " %%i IN (%workpath%kekka.txt) DO echo %%i
goto end
:end
 
 


カテゴリー「TASKKILL,START…サービス/タスクの起動/終了」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年04月19日 13:10に投稿されたエントリーのページです。

ひとつ前の投稿は「改行をエスケープするには???」です。

次の投稿は「「コマンドは正常に終了しました」を防ぐには」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート