Windows 7 停止正在运行的服务的批处理程序

Windows 7 停止正在运行的服务的批处理程序,windows-7,batch-file,windows-server-2008-r2,windows-scripting,Windows 7,Batch File,Windows Server 2008 R2,Windows Scripting,假设我有一个以“MyServiceFactory-”开头的服务列表。并不是所有的服务都会启动,只有一小部分会启动,并且会根据服务使用情况而有所不同。我正在寻找帮助,编写一个批处理程序,只停止正在运行的服务并启动这些服务(不是所有服务,也不是重新启动)。非常感谢您的任何帮助这应该会起作用(或者至少给您一个开始): 假设您将批处理文件命名为batch.bat,您会将其称为“MyServiceFactory-%”这应该可以工作(或者至少让您有一个开始): 假设您将批处理文件命名为batch.bat,您

假设我有一个以“MyServiceFactory-”开头的服务列表。并不是所有的服务都会启动,只有一小部分会启动,并且会根据服务使用情况而有所不同。我正在寻找帮助,编写一个批处理程序,只停止正在运行的服务并启动这些服务(不是所有服务,也不是重新启动)。非常感谢您的任何帮助

这应该会起作用(或者至少给您一个开始):

假设您将批处理文件命名为batch.bat,您会将其称为“MyServiceFactory-%”

这应该可以工作(或者至少让您有一个开始):


假设您将批处理文件命名为batch.bat,您会将其称为“MyServiceFactory-%”

您也可以尝试使用PowerShell。我有一些单行程序用于启动和停止我们的服务:

# Start all services with FOO in their name:
powershell -Command start-service *FOO*

# Stop all running FOO services:
powershell -Command stop-service *FOO*

缺点是PowerShell命令不会向您提供该服务的运行状态,例如
net start
会提供,但您必须喜欢它的简洁性:)

您也可以尝试使用PowerShell。我有一些单行程序用于启动和停止我们的服务:

# Start all services with FOO in their name:
powershell -Command start-service *FOO*

# Stop all running FOO services:
powershell -Command stop-service *FOO*

缺点是PowerShell命令不会向您提供该服务的运行状态,例如
net start
会,但您必须喜欢它的简洁性:)

谢谢。。。当我运行上面的程序时,我得到“Node”。我将尝试对其进行调试,这意味着它无法找到任何具有给定标题(如服务工具中所示的描述性名称)的正在运行的服务。我假设这就是您所说的名称,因为它包含空格,但也有内部服务名称。最好运行
wmic
。在wmic提示符下,exec
服务获取名称、标题、显示名称、状态
——这将显示所有服务及其标题、显示名称和状态。直接从批处理运行第一个查询,直到得到所需的结果,并根据需要进行更改,然后调整批处理。@G33kKahuna抱歉,忘记了向您提交之前的地址。。。看一看,应该会有帮助的谢谢wmz。。你的代码让我通过了,我找到了我的wmic命令行。这很有帮助。powershell暂时禁止使用谢谢。。。当我运行上面的程序时,我得到“Node”。我将尝试对其进行调试,这意味着它无法找到任何具有给定标题(如服务工具中所示的描述性名称)的正在运行的服务。我假设这就是您所说的名称,因为它包含空格,但也有内部服务名称。最好运行
wmic
。在wmic提示符下,exec
服务获取名称、标题、显示名称、状态
——这将显示所有服务及其标题、显示名称和状态。直接从批处理运行第一个查询,直到得到所需的结果,并根据需要进行更改,然后调整批处理。@G33kKahuna抱歉,忘记了向您提交之前的地址。。。看一看,应该会有帮助的谢谢wmz。。你的代码让我通过了,我找到了我的wmic命令行。这很有帮助。powershell现在禁止使用+1来提及PS。PS中大致相当于1行的是:
get wmiobject win32_service-filter“name like'srv_name_pattern'和state='Running'”| foreach{stop service$u.name;start service$u.name}
+1用于提及PS。PS中大致相当于1行的是:
get wmiobject win32_service-filter“name like'srv_name_pattern'和state='Running'”| foreach{stop service$u.name;start service$u.name}