當電腦上有多個數據庫(特別是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