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

时间:2009-02-17 13:34:27

标签: windows windows-services

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

大部分时间这都很好,但单独启动它们会有点麻烦。

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

9 个答案:

答案 0 :(得分:5)

你可以写一个像

这样的批处理文件
net start "Service Name"

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

编辑:

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

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

答案 1 :(得分:4)

您也可以通过调用以下方式并行启动服务:

  

SC START servicename

我不知道这是否有帮助...

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:3)

如果你使用的是PowerShell,你可以这样做:

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

为了解释上述内容,它如下:

  1. 创建一个包含“service1”和“service2”
  2. 的数组
  3. 将该数组传递给foreach命令(%符号)
  4. foreach命令将运行代码块(由{ }分隔),“当前项目”由$_
  5. 表示
  6. 因此,它将在您的数组中的每个内容上运行start-service

答案 4 :(得分:1)

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

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

sc start&#34; first servicename&#34; sc start&#34; second servicename&#34;

依旧...... 保存批处理文件,双击它以运行它,或安排它运行相应的。

答案 5 :(得分:1)

如果您有常用名,只需使用powershell

启动服务

[...document.links]
  .filter(link => !link.href.includes('stackoverflow'))

停止服务

Get-Service *pattern* | start-service

答案 6 :(得分:0)

更简单的方法:

  1. 安装ps工具(它为开发人员提供了很多非常酷的cmd线工具)

  2. ps工具附带的工具之一是 PsService

  3. 您可以使用开始和停止

  4. 开始停止服务

答案 7 :(得分:0)

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

答案 8 :(得分: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