如何在Windows上通过CMD提示符向进程发送关机命令

如何在Windows上通过CMD提示符向进程发送关机命令,windows,command-line,batch-file,shutdown,Windows,Command Line,Batch File,Shutdown,我目前是一名软件开发人员,我使用了很多工具,所以我需要在完成工作后关闭所有工具。所以我用tskill命令创建了批处理文件,并列出了我使用的程序,例如 tskill skype tskill outlook tskill devenv tskill explorer start explorer 这有一个问题,当进程终止时,工具中的更改不会保存,例如上一个项目、打开的文件、控件的可视位置和所有其他内容。这些设置仅在关闭工具时保存,但单击每个设置确实很耗时 所以我的问题是:我可以向软件发送关机命令

我目前是一名软件开发人员,我使用了很多工具,所以我需要在完成工作后关闭所有工具。所以我用tskill命令创建了批处理文件,并列出了我使用的程序,例如

tskill skype
tskill outlook
tskill devenv
tskill explorer
start explorer
这有一个问题,当进程终止时,工具中的更改不会保存,例如上一个项目、打开的文件、控件的可视位置和所有其他内容。这些设置仅在关闭工具时保存,但单击每个设置确实很耗时

所以我的问题是:我可以向软件发送关机命令而不是终止进程吗?

注意:我需要CMD命令,而不是编程解决方案,正如我上面提到的,我需要类似“tskill skype”的命令,它可以终止skype进程。Windows可以发送此命令,因为当您关闭Windows时,Windows正在向所有正在运行的程序发送关闭命令。但若不能关机,那个么windows会像我上面所做的那个样终止进程

提前感谢。

在Windows 7上测试:

taskkill /IM notepad.exe

请注意,您必须指定
.exe
扩展名。我假设这就是您所需要的:它不只是终止进程,而是发送“shutdown”信号,它将显示“saveunsavechanges?”记事本和其他编辑器中的对话框。

如果您的应用程序支持标准windows消息,您可以使用
rmtool
对应用程序撒谎,告诉它计算机正在关闭。看

要编写脚本,您需要在之前找到流程的PID(
pslist
from sysinternals提供信息,但需要解析结果)


如果他们没有完全关闭,就像windows关闭时做的那样:使用rmtool让他们所有人都很好地退出,然后30秒后杀死所有仍然站着的人(对于outlook和devenv,它甚至可能有点短……。

我认为通过一些windows自动化脚本语言(如AutoitYes)这样做可能更好,我也可以开发应用程序来为我做到这一点,但事实并非如此,我需要批处理文件,简单可以复制,不难执行。。。但是谢谢你的建议。很好,我需要它用于Windows7,这是正确的答案。谢谢,伙计。你也可以添加/F标志来强制终止进程。