サービス「SysMain、WindowsSearch」の無効化.bat
@echo off
sc config "SysMain" start= disabled
echo.
echo #######################################
echo SuperFetch (1809から『SysMain』) サービスを無効にしました
echo #######################################
echo.
pause
sc config "WSearch" start= disabled
echo.
echo #######################################
echo Windows Search サービスを無効にしました
echo #######################################
echo.
pause
exit
サービス「SysMain、WindowsSearch」の無効化確認.bat
@echo off
rem 参考サイト:https://rainbow-engine.com/batch-get-servicestate/
rem 表示される状態 意味
rem 1 STOPPED 停止
rem 2 START PENDING 開始待ち
rem 3 STOP PENDING 停止待ち
rem 4 RUNNING 実行中
rem UNKNOWN 不明
rem 参考サイト:https://rainbow-engine.com/batch-get-servicestate/
rem START_TYPE スタートアップの種類 scコマンドのstartの値
rem 0 BOOT_START ブート boot
rem 1 SYSTEM_START システム system
rem 2 AUTO_START 自動 auto
rem 2 AUTO_START (DELAYED) 自動 または 自動(遅延開始) delayed-auto
rem 3 DEMAND_START 要求 または 手動 demand
rem 4 DISABLED 無効 disabled
SETLOCAL ENABLEDELAYEDEXPANSION
set SRV_LIST="SysMain","WSearch"
rem forループでサービスの数だけループします。
rem その際に半角スペースが区切られない様に「@」に置換します。
for %%a in (%SRV_LIST: = @%) do (
rem 変数SRV_NAMEに「%%a」を代入
set SRV_NAME= %%a
rem 先程置換した「@」を元に戻して、正しいサービス名に戻します
set SRV_NAME=!SRV_NAME:@= !
rem 先頭に来る余分なスペースを削る(もしあれば)
set SRV_NAME=!SRV_NAME: =!
for /f "delims=" %%f in ('sc query !SRV_NAME! ^| findstr STATE') do (
set SERVICE_STATUS= %%f
)
for /f "delims=" %%b in ('sc qc !SRV_NAME! ^| findstr START_TYPE') do (
set SERVICE_START_TYPE= %%b
)
echo サービス名 : !SRV_NAME! !SERVICE_STATUS! !SERVICE_START_TYPE!
echo "#################################"
)
ENDLOCAL
echo;
echo ■■■■■■■ 『SysMain』『Windows Search』 ■■■■■■■■
echo ■ ■
echo ■ STATE : 1 STOPPED ■
echo ■ START_TYPE : 4 DISABLED ■
echo ■ となってますか? ■
echo ■ ■
echo ■■■■■■■■■■■■■■■■■■■■■■■■
echo;
pause
exit
コメント