中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 09:50
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何用批处理去启动服务 查看 1,962 回复 13
楼 主 [求助]如何用批处理去启动服务 发表于 2009-02-17 10:18 ·  中国 内蒙古 乌海 联通
新手上路
积分 2
发帖 10
注册 2009-02-16 13:20
17年会员
UID 138979
性别 男
状态 离线
我的机子上装了orcal平时不用的时候服务开着浪费资源,用的时候在去开服务麻烦,请高人帮写个批处理,能启动OracleServiceORCL和OracleOraDb10g_home1TNSListener这两个服务,
2 发表于 2009-02-17 10:41 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
sc start 服务名
net start 服务名

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
3 发表于 2009-02-17 10:44 ·  中国 上海 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线

@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 /?
4 发表于 2009-02-17 11:13 ·  中国 内蒙古 乌海 联通
新手上路
积分 2
发帖 10
注册 2009-02-16 13:20
17年会员
UID 138979
性别 男
状态 离线
回复2楼
这样sc start 服务名
net start 服务名,做成批处理不行,只能做命令在cmd下输入,还是麻烦

回复3楼,先谢谢你,可我把他复制到文本文件保存成BAT文件后,运行弹出CMD窗口闪一下又没了,dos我也不懂,你能帮我看一下吗?
谢谢!
5 Re 4楼 发表于 2009-02-17 11:25 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
在批处理中,试试 net start + 服务的 Display Name (不是Service Name)
6 发表于 2009-02-17 11:34 ·  中国 内蒙古 乌海 联通
新手上路
积分 2
发帖 10
注册 2009-02-16 13:20
17年会员
UID 138979
性别 男
状态 离线
回复5楼,这样是一样的还是不行,
谢谢大家,
是不是,用批处理文件不能启动服务里面的服务项呢?
我在百度也没搜到相关的内容
7 Re 6楼 发表于 2009-02-17 11:38 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
请把你写的完整代码贴出来看看

友情提示,如果服务的 Display Name 里面有空格,需要加双引号。
8 发表于 2009-02-17 12:16 ·  中国 内蒙古 乌海 联通
新手上路
积分 2
发帖 10
注册 2009-02-16 13:20
17年会员
UID 138979
性别 男
状态 离线
以前没用接触脚本较少,只是最近做数据库,经常做一些配置,才看到脚本的用处,就想到了用脚本启动服务,
这是我从网上找的,
@echo off
:dosmenu
REM 选择菜单
echo #**********************************************************************#
echo Windows 服务启动脚本 made by qukunping 20080101
echo #**********************************************************************#
echo 命令相关参数说明如下 快速切换
echo #**********************************************************************#
echo.
echo 启动mysql 关闭mysql
echo 启动sqlserver2005 关闭sqlserver2005
echo 启动oracle 关闭oracle 其它键退出本程序
echo.
echo #**********************************************************************#
set /P CHS= 请选择: ,,,,,?

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 ]
9 发表于 2009-02-17 12:45 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
如果你不懂命令行,又怕搞错的话,你可以先手动设置一次,用备份的方法.....,将备份的文件改成*.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
10 Re 8楼 发表于 2009-02-17 14:17 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
请问“不管用”的具体表现是什么?你输入了哪个选项,是5吗?报错信息是什么,能否贴出来看看?
11 发表于 2009-02-17 16:13 ·  中国 内蒙古 乌海 联通
新手上路
积分 2
发帖 10
注册 2009-02-16 13:20
17年会员
UID 138979
性别 男
状态 离线
是输入[5]按回车,窗口就关闭了
12 Re 11楼 发表于 2009-02-17 18:41 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
不要双击运行批处理
开始
运行
cmd
你的批处理完整路径
回车
13 发表于 2009-02-23 18:47 ·  中国 内蒙古 乌海 联通
新手上路
积分 2
发帖 10
注册 2009-02-16 13:20
17年会员
UID 138979
性别 男
状态 离线
呵呵终于解决了,居然如此简单!!!
14 Re 13楼 发表于 2009-02-23 21:11 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
如果有人帮你解决了问题,建议进行以下操作:

1、修改帖子标题,在标题最前面注明:[已结]

2、给竭尽所能帮你的人、正确回答问题的人加分(你自己的积分不会减少)以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。

3、如果你是在别人的提示下自己写出了代码,请把自己的方法贴出来跟大家分享一下,也许他人可以帮你指出代码中的不足之处、告诉你如何提高执行效率等,有交流才能更快地进步。
论坛跳转: