标题: [求助]如何用批处理去启动服务
[打印本页]
作者: wssjzz
时间: 2009-2-17 10:18
标题: [求助]如何用批处理去启动服务
我的机子上装了orcal平时不用的时候服务开着浪费资源,用的时候在去开服务麻烦,请高人帮写个批处理,能启动OracleServiceORCL和OracleOraDb10g_home1TNSListener这两个服务,
作者: yishanju
时间: 2009-2-17 10:41
sc start 服务名
net start 服务名
作者: dato
时间: 2009-2-17 10:44
@echo off
call :quiet>nul 2>&1
goto :EOF
:quiet
%systemroot%\system32\sc.exe config OracleServiceORCL start= DEMAND
%systemroot%\system32\sc.exe start OracleServiceORCL
%systemroot%\system32\sc.exe config OracleOraDb10g_home1TNSListener start= DEMAND
%systemroot%\system32\sc.exe start OracleOraDb10g_home1TNSListener
%systemroot%\system32\sc.exe config OracleOraDb10g_home1iSQL*Plus start= DEMAND
%systemroot%\system32\sc.exe start OracleOraDb10g_home1iSQL*Plus
%systemroot%\system32\sc.exe config OracleDBConsoleorcl start= DEMAND
%systemroot%\system32\sc.exe start OracleDBConsoleorcl
rem 3800+需要90秒才能启动完OracleDBConsoleorcl服务
rem %systemroot%\system32\ping.exe -n 90 127.0.0.1>nul
%systemroot%\system32\sc.exe config OracleCSService start= DEMAND
%systemroot%\system32\sc.exe start OracleCSService
具体查看sc /?
作者: wssjzz
时间: 2009-2-17 11:13
回复2楼
这样sc start 服务名
net start 服务名,做成批处理不行,只能做命令在cmd下输入,还是麻烦
回复3楼,先谢谢你,可我把他复制到文本文件保存成BAT文件后,运行弹出CMD窗口闪一下又没了,dos我也不懂,你能帮我看一下吗?
谢谢!
作者: HAT
时间: 2009-2-17 11:25
标题: Re 4楼
在批处理中,试试 net start + 服务的 Display Name (不是Service Name)
作者: wssjzz
时间: 2009-2-17 11:34
回复5楼,这样是一样的还是不行,
谢谢大家,
是不是,用批处理文件不能启动服务里面的服务项呢?
我在百度也没搜到相关的内容
作者: HAT
时间: 2009-2-17 11:38
标题: Re 6楼
请把你写的完整代码贴出来看看
友情提示,如果服务的 Display Name 里面有空格,需要加双引号。
作者: wssjzz
时间: 2009-2-17 12:16
以前没用接触脚本较少,只是最近做数据库,经常做一些配置,才看到脚本的用处,就想到了用脚本启动服务,
这是我从网上找的,
@echo off
:dosmenu
REM 选择菜单
echo #**********************************************************************#
echo Windows 服务启动脚本 made by qukunping 20080101
echo #**********************************************************************#
echo 命令相关参数说明如下 快速切换
echo #**********************************************************************#
echo.
echo [1]启动mysql [2]关闭mysql
echo [3]启动sqlserver2005 [4]关闭sqlserver2005
echo [5]启动oracle [6]关闭oracle 其它键退出本程序
echo.
echo #**********************************************************************#
set /P CHS= 请选择: [1],[2],[3],[4],[5],[6]?
if /I "%CHS%"=="1" (
goto aaaa
)
if /I "%CHS%"=="2" (
goto bbbb
)
if /I "%CHS%"=="3" (
goto cccc
)
if /I "%CHS%"=="4" (
goto dddd
)
if /I "%CHS%"=="5" (
goto eeee
)
if /I "%CHS%"=="6" (
goto ffff
)
goto zzzz
:aaaa
REM 启动mysql
net start MySQL
pause
cls
goto dosmenu
:bbbb
REM 关闭mysql
net stop MySQL
pause
cls
goto dosmenu
:cccc
REM 启动sqlserver2005
net start "SQL Server (MSSQLSERVER)"
pause
cls
goto dosmenu
:dddd
REM 关闭sqlserver2005
net stop "SQL Server (MSSQLSERVER)"
pause
cls
goto dosmenu
:eeee
REM 启动OracleServiceORCL
net start "OracleServiceORCL"
net start "OracleOraDb10g_home1TNSListener"
pause
cls
goto dosmenu
:ffff
REM 关闭OracleServiceORCL
net stop "OracleOraDb10g_home1TNSListener"
net stop "OracleServiceORCL"
pause
cls
goto dosmenu
:zzzz
REM 退出
exit
加引号与不加都不管用,
[
Last edited by wssjzz on 2009-2-17 at 12:17 ]
作者: ZJHJ
时间: 2009-2-17 12:45
如果你不懂命令行,又怕搞错的话,你可以先手动设置一次,用备份的方法.....,将备份的文件改成*.bat
给你个现成的
@echo off
:: wangwei QQ: 251485609
if not exist bfwjcf md bfwjcf
echo 正在服务备份文件,请稍等......
sc query type= service state= all| findstr /r /i /C:"service_name:">fwbf.txt
echo @echo 操作备份的时间日期是: %time% %date% >服务备份文件.txt
echo @pause>>服务备份文件.txt
for /f "tokens=2 delims=:" %%j in (fwbf.txt) do @(sc qc %%j |findstr /r /i START_TYPE>temp_.txt
for /f "tokens=4 delims=:_ " %%s in (temp_.txt) do @echo sc config %%j start= %%s >>服务备份文件.txt)
echo @echo 操作已完成!>>服务备份文件.txt
del fwbf.txt
del temp_.txt
move 服务备份文件.txt bfwjcf\
echo.
echo 服务备份已完成!
echo.
pause
作者: HAT
时间: 2009-2-17 14:17
标题: Re 8楼
请问“不管用”的具体表现是什么?你输入了哪个选项,是5吗?报错信息是什么,能否贴出来看看?
作者: wssjzz
时间: 2009-2-17 16:13
是输入[5]按回车,窗口就关闭了
作者: HAT
时间: 2009-2-17 18:41
标题: Re 11楼
不要双击运行批处理
开始
运行
cmd
你的批处理完整路径
回车
作者: wssjzz
时间: 2009-2-23 18:47
呵呵终于解决了,居然如此简单!!!
作者: HAT
时间: 2009-2-23 21:11
标题: Re 13楼
如果有人帮你解决了问题,建议进行以下操作:
1、修改帖子标题,在标题最前面注明:[已结]
2、给竭尽所能帮你的人、正确回答问题的人加分(你自己的积分不会减少)以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。
3、如果你是在别人的提示下自己写出了代码,请把自己的方法贴出来跟大家分享一下,也许他人可以帮你指出代码中的不足之处、告诉你如何提高执行效率等,有交流才能更快地进步。