|
|
はじめまして、ko-1といいます。 現在、バッチファイルでサービス名に空白を含むサービスが起動されているかどうかの チェック処理を行おうと思っています。 サービスが起動されているかどうかのチェックは、 「NET START」コマンドを使って開始中のサービスの一覧をファイルに出力し、 FOR文でファイルをループして一致する名称がヒットしたら、 breakするような処理を行っているのですが、 サービス名に空白が含まれているためか、IF文ではじかれてしまいます。 このような場合、何か良い方法があったら教えてください。 OSはwindows xpで私が試したコードは以下です。 =========================================== REM サービス名 SET SERVICENAME=SERVICE^ NAME REM サービス一覧を取得 NET START>wk.tmp REM FOR文でサービスの一覧を回して該当のサービスが開始されているかチェック REM "SERVICE NAME"という名称のサービスは起動されているが、 REM 以下のコードの「%%A」をECHOで出力すると「SERVICE」までしか表示されず、 REM 半角スペース以降が出力されない SET HITSERVICE= FOR /F %%A IN (wk.tmp) DO IF "%SERVICENAME%."=="%%A." SET HITSERVICE=%%A IF "%HITSERVICE%."=="%SERVICE%." GOTO :START =========================================== |
|
|
|
|