bat 服務啟動腳本


  當電腦上有多個數據庫(特別是Oracle,占用內存大,所以我都是設置為手動啟動的,或者想在電腦上運行一下其他UI類軟件或玩些游戲的時候也需要暫時關掉,奈何我這渣機(V_V))需要啟動或停止的時候,就用不着每次都啟動服務管理器,再去找需要關閉的服務再點擊操作了。使用bat語言的net start 或 net stop 即可操作服務的啟動或停止,我的腳本如下:

  


  

@echo off
::以管理員的身份開始執行文件
cd /d %~dp0
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit 

::如果判斷為真goto跳轉到這里繼續執行操作。
:r

::set 的/p參數可以使變量var接收輸入數據
set /p var=請選擇需要的操作(啟動服務(y)/停止服務(n))
set /p no=請選擇需要操作的服務(erp1(e)/Orcl1(o)/監聽(j)/所有服務(a))

::bat里我沒找到與運算符,就用if的嵌套實現吧
if %var%==y  if %no%==o net start OracleServiceOrcl1

if %var%==n  if %no%==o net stop OracleServiceOrcl1

if %var%==y  if %no%==e net start OracleServiceERP1

if %var%==n  if %no%==e net stop OracleServiceERP1

if %var%==y  if %no%==j net start OracleOraDb11g_home1TNSListener

if %var%==n  if %no%==j net stop OracleOraDb11g_home1TNSListener

if %var%==y  if %no%==a (net start OracleServiceERP1
 net start OracleServiceOrcl1
 net start OracleOraDb11g_home1TNSListener)

if %var%==n  if %no%==a (net stop OracleServiceERP1
net stop OracleServiceOrcl1
net stop OracleOraDb11g_home1TNSListener)

::choice 的/c 參數允許用戶從選擇列表選擇一個項目並返回所選項目的索引,默認為"YN",所以實際我這里YN是可以不要的,當然也可以自己定義,/M 參數可以指定提示信息。
%errorlevel%為errorlevel環境變量的引用,在choice中該變量列出的第一個選 擇返回 1,第二個選擇返回 2,等等。 choice /c YN /M "繼續請按 Y,退出請按 N" if %errorlevel%==1 (goto r) else (exit)

:: 后面的內容為注釋部分,不會被執行。在腳本中我已經對一些內容進行了注解,實際上cmd的幫助文檔是很好了的,比如在cmd窗口中輸入 if /? 、 choice /?就可以看到對應命令的比較詳細的講解了。

代碼讓生活更簡單,在此作個學習記錄和分享。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM