如何使用一个命令一次启动多个Windows服务?

问题描述 投票:3回答:8

我用于编程的主计算机是我用于游戏的同一台计算机。因此,为了提高游戏速度,我从启动时开始关闭Apache,MySQL,Subversion等服务,因为我使用大约50/50进行游戏/编程。

这在大多数情况下都很好,但是单独启动它们会有点麻烦。

有人可以告诉我如何编写批处理文件或类似的东西来启动所有服务?

windows windows-services
8个回答
5
投票

那么你可以编写一个批处理文件

net start "Service Name"

应该有一种依赖关系将服务链接在一起的方法,所以当一个人开始时,其他人也会。我会看看能否找到切换器来做到这一点。

编辑:

我没试过这个,但是这应该告诉你在注册表中找到哪些服务依赖于彼此并且所有服务都自动启动:

http://www.softwaretipsandtricks.com/windowsxp/articles/490/1/Removing-Service-Dependencies


4
投票

您还可以通过调用以下命令并行启动服务:

SC START servicename

我不知道这有助于......

除非你真的知道你在做什么,否则我不会搞乱服务的依赖关系。


3
投票

启动服务的命令是"net start <servicename>“。只需将您需要的命令添加到名为Something.bat的文件中并运行它。简单。:)

net stop <service name>也将阻止他们。


3
投票

如果您正在使用PowerShell,则可以执行以下操作:

"service1", "service2" | %{ start-service $_ }

为了解释上述情况,它如下:

  1. 创建一个包含“service1”和“service2”的数组
  2. 管道那个数组到foreach命令(这是%标志)
  3. foreach命令将运行代码块(由{ }分隔),“当前项”由$_表示
  4. 因此,它将对阵列中的每个事物运行start-service

1
投票

虽然我正在研究类似的东西,但我迟到了。

创建批处理文件并在该批处理文件中使用sc命令:

sc start“first servicename”sc start“second servicename”

等等...保存批处理文件,然后双击它以运行它,或安排它相应地运行。


0
投票

更简单的方法:

  1. 安装ps工具(它有很多非常酷的cmd线工具供开发人员使用)
  2. ps工具附带的工具之一是 PsService
  3. 您可以使用start和stop开始停止服务

0
投票

虽然我迟到了,但是这正是你需要的。 ProgramUtilityv1我也在寻找这样的应用程序,所以我自己写了。它仅适用于Windows以及Windows Vista及更高版本。我很快就会发布一个Linux版本。


0
投票

与上面提到的其他答案一样,编写批处理/ cmd文件可以创建奇迹。

@echo off

echo Press any key to start the Services
echo ===================================

pause

echo Starting Apache
net start Apache

echo Starting MySQL
net start MySQL

echo Starting Subversion
net start Subversion

echo == Services have started ==

timeout 3
exit /b
© www.soinside.com 2019 - 2024. All rights reserved.