我有一个批处理文件,用于taskkill
停止多个服务。命令如下:
taskkill /s \\myServer /f /fi "Services eq MyService"
问题是每个命令都需要很长时间(大约 1 分钟)。由于有多个这样的命令,批处理文件真的很慢。
有没有什么办法可以加快速度taskkill
?
答案1
尝试使用sc stop
而不是终止服务。这是首选方法。
http://technet.microsoft.com/en-us/library/cc742107(WS.10).aspx
答案2
除了@pk所说的,如果你必须使用 taskkill,您可以为每个要终止的任务创建一个 bat 文件,然后创建一个 bat 文件来调用每个批处理文件。
每个任务完成仍然会很慢,但它们会同时运行,从而加快整个脚本的速度。
看起来应该是这样的:
cmd /c c:\bat\killbatch1.bat
cmd /c c:\bat\killbatch2.bat
cmd /c c:\bat\killbatch3.bat
答案3
我尝试过切换到sc
,但速度也很慢。这其中存在一些潜在问题(可能与网络有关?),但我还没能找到它。
我最终使用 WMI 使用信息将服务停止代码移动到 .vbs 脚本这里。