Quite a while I tried to compile a batch file which could start or stop oracle services based on their running status. At last, by altering few codes found through google search, I managed to make one. Below you can find it.
Update: Added prompt(s), bracketing in order to make the script work on Windows 8.x
You must change “net start ” with your installation specific service names!
@echo off
sc query "OracleOraDb10g_home1TNSListener" | findstr /i running
IF "%ERRORLEVEL%"=="0" (GOTO :RUNNING) ELSE (GOTO :STOPPED)
:STOPPED
set /P c=Oracle Services are not running, you want to start them now[Y/N]?
if /I "%c%" EQU "Y" goto :start_them
:start_them
net start "OracleOraDb10g_home1TNSListener" | sc query "OracleServiceSCT" | findstr /i running
IF NOT "%ERRORLEVEL%"=="0" (net start OracleServiceSCT)
GOTO :END
:RUNNING
set /P c=Oracle Services are running, you want to stop them now[Y/N]?
if /I "%c%" EQU "Y" goto :stop_them
:stop_them
net stop "OracleOraDb10g_home1TNSListener" | sc query "OracleServiceSCT" | findstr /i running
if "%ERRORLEVEL%"=="0" (net stop OracleServiceSCT)
GOTO :END
:END
Pause
Just copy and paste the code inside a text file and change the extension to “.cmd” or “.bat”. Make sure to “Run as administrator” if UAC is enabled.
Hope this bit of code is useful for those developers who do not want to strain the limited resources they have with their notebooks/laptops and need the local databases only upon demand.
for Windows7bugs, raj.