bat 服務啓動腳本

  當電腦上有多個數據庫(特別是Oracle,佔用內存大,因此我都是設置爲手動啓動的,或者想在電腦上運行一下其餘UI類軟件或玩些遊戲的時候也須要暫時關掉,奈何我這渣機(V_V))須要啓動或中止的時候,就用不着每次都啓動服務管理器,再去找須要關閉的服務再點擊操做了。使用bat語言的net start 或 net stop 便可操做服務的啓動或中止,個人腳本以下:shell

  


  

@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 /?就能夠看到對應命令的比較詳細的講解了。數據庫

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

相關文章
相關標籤/搜索