指令碼啟動windows服務

2022-09-12 02:36:16 字數 1737 閱讀 6162

@echo off&setlocal enabledelayedexpansion

for /f "

tokens=* delims=

" %%i in ('sc query state^=inactive^|findstr **^|findstr sql') do

(

echo %%i

set tmpstr=%%i

echo !tmpstr:~13,-1!echo net start

"!tmpstr:~14,-1!

"net start

"!tmpstr:~14,-1!")

echo 輸入任意鍵退出.

pause>nul

('sc query state^=inactive^|findstr **^|findstr sql') 這個的「**」和「sql」 換成你的服務名稱,查詢規則看後面
@echo off&setlocal enabledelayedexpansion
如果啟用延遲的環境變數擴充套件,則可以使用感嘆號字元來替代執行時的環境變數值。!tmpstr!

sc query state^=inactive^|findstr **
@echo off

set ifo=abcdefghijklmnopqrstuvwxyz0123456789

echo 原字串(第二行為各字元的序號):

echo %ifo%echo 123456789012345678901234567890123456echo 擷取前5個字元:

echo %ifo:~0,5%echo 擷取最後5個字元:

echo %ifo:~-5%echo 擷取第乙個到倒數第6個字元:

echo %ifo:~0,-5%echo 從第4個字元開始,擷取5個字元:

echo %ifo:~3,5%echo 從倒數第14個字元開始,擷取5個字元:

echo %ifo:~-14,5%pause

知識點4:服務的處理

net start  --當前啟動的服務

--windows服務名稱與顯示名稱

--無論是服務名稱還是顯示名稱,均可用於net stop\start 命令,格式如下:

net stop\start service_name

net stop\start "display_name"

--檢視服務名稱與顯示名稱對應關係的方法,除了之間在services.msc裡檢視屬性外,還可以通過sc命令檢視,如

sc query state= all|findstr "service_name display_name"

sc query state=inactive|findstr **|findstr sql--篩選服務名稱與顯示名稱包含sql和**的
同時滿足多個條件用|分割條件(交集)  sc query state=inactive|findstr **|findstr sql

同時查詢多個條件,用空格分割 (並集) sc query state=all|findstr "sql server **"

服務的處理其他命令可參考:

windows自啟動指令碼

直接寫乙個普通批處理檔案,如果是需要讓它在系統啟動時執行,就將它放在c windows system32 grouppolicy machine scripts startup目錄下,如果是需要它在系統登出或關機時執行,就將它放在c windows system32 grouppolicy mach...

啟動windows服務成功

這兩天一直在學習windows服務的知識,書上的和網上的程式,可以成功安裝服務,但是無法啟動,會出現1053的錯誤 錯誤 1053 服務沒有及時響應啟動或控制請求。如下 include include tchar servicename text beeper service service sta...

windows啟動redis服務

參考 2.使用如下命令可將redis註冊到windows服務 2 設定服務命令 redis server service install redis.windows service.conf loglevel verbose 此時還不能在windows的服務啟動redis 由於redis.windo...