【问题标题】:How do I start multiple Windows Services at once, with one command?如何使用一个命令一次启动多个 Windows 服务?
【发布时间】:2009-02-17 13:34:27
【问题描述】:

我用于编程的主要计算机是我用于游戏等的同一台计算机。因此,为了提高游戏速度,我在启动时关闭了 Apache、MySQL、Subversion 等服务,因为我将其用于游戏的比例约为 50/50 /编程。

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

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

【问题讨论】:

    标签: windows windows-services


    【解决方案1】:

    你可以写一个像这样的批处理文件

    net start "Service Name"
    

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

    编辑:

    我还没有尝试过,但这应该会告诉您在注册表中的哪个位置可以使服务相互依赖并自动启动:

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

    【讨论】:

      【解决方案2】:

      您也可以通过调用来让服务并行启动:

      SC START 服务名称

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

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

      【讨论】:

      • 对于这个问题,'sc' 是更好的方法,因为它异步启动服务,进入下一个批处理命令。
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

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

        以上解释如下:

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

        【讨论】:

          【解决方案5】:

          如果你有一个通用名称,只需使用 powershell

          启动服务

          Get-Service *pattern* | start-service
          

          停止服务

          Get-Service *pattern* | stop-service
          

          【讨论】:

            【解决方案6】:

            我在这方面有点晚了,虽然我正在研究类似的东西。

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

            sc 启动“第一个服务名称” sc 启动“第二个服务名称”

            等等…… 保存批处理文件并双击它运行它,或者安排它相应地运行。

            【讨论】:

              【解决方案7】:

              就像提到的其他答案一样,编写批处理/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
              

              【讨论】:

                【解决方案8】:

                更简单的方法:

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

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

                3. 您可以使用 start 和 stop 开始停止您的服务

                【讨论】:

                  【解决方案9】:

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2020-12-03
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2023-04-05
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多