重新启动Windows服务的桌面快捷方式

40

是否可以创建一个Windows桌面快捷方式,以重新启动Windows服务?

当我修改了配置文件后,我希望有一个按钮可以重新启动我的Apache服务。

3个回答

50

您可以在批处理文件中完成此操作,然后为其创建快捷方式。

创建一个文本文件,将以下内容复制到其中,但将其保存为 .bat 文件扩展名。

net stop "Service Name"
net start "Service Name"

一旦文件存在,你可以创建一个到它的快捷方式,并且如有必要,甚至可以为其分配一个键盘快捷键。


3
考虑使用 sc 而不是 net(参见我的答案)。sc 是非阻塞的,因为它仅发送一条消息来操作服务。 - David Ferenczy Rogožan

26

您可以使用以下快捷方式目标来实现此操作,无需批处理文件:

C:\Windows\System32\cmd.exe /c "net stop "Service Name" & net start "Service Name""

除了回答以下Tibo的评论外,还必须执行以下操作:

为了以管理员身份运行它(某些服务可能需要?),在快捷方式属性窗口中,单击“高级...”按钮(位于底部),然后选中“以管理员身份运行”。每次都会打开用户帐户控制弹出窗口。


3
为了以管理员身份运行它(对于某些服务可能需要这样做,甚至是全部),请在快捷方式的属性窗口中,选择“快捷方式”选项卡,在底部点击“高级”按钮,然后勾选“以管理员身份运行”。这将每次打开用户账户控制弹出窗口。 - Tibo
需要使用&&来使其工作 - ihor.eth

17

我正在使用一个由简单的CMD批处理脚本和一个LNK快捷方式组成的系统。批处理脚本包含sc命令,它充当Windows服务控制器。为启动或停止服务,它使用与net命令相同的参数:

sc <start|stop> <service>

因此,例如要启动Apache Web服务器服务和MySQL数据库服务器服务,则名为web_servers_start.cmd的批处理脚本可能如下所示:

sc start "Apache2.2"
sc start MySQL
批处理脚本必须以管理员身份启动。因此,我创建了一个指向批处理脚本 web_servers_start.cmdLNK快捷方式,并在文件的属性对话框中,在“高级…”按钮下的快捷方式选项卡中勾选了"以管理员身份运行"。
您可以将LNK快捷方式放置在桌面、开始菜单或其他任何位置。 注意:scnet命令之间的一个区别是sc向服务发送消息(例如start),并立即结束自己,而net命令等待直到服务操作完成。如果您不需要操作状态或错误代码,sc命令比net命令要快得多。

1
谢谢您的回答,对我很有帮助。但在Windows 7中,我需要右键单击快捷方式并以管理员身份运行。正如您所说,在属性中勾选“以管理员身份运行”复选框。不幸的是,该复选框已被禁用……请帮帮我。 - Mukesh Kumar Singh
你确定你不是在尝试为CMD文件设置它,而不是为LNK文件设置吗?我已经禁用了CMD文件的该选项,但是LNK文件启用了它。 - David Ferenczy Rogožan
1
我也已经在 lnk 上禁用了它。 - Martin Nuc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接