如何从CMD关闭Windows资源管理器

如何从CMD关闭Windows资源管理器,windows,batch-file,Windows,Batch File,是否可以从CMD关闭Windows资源管理器?我有一批这样做:它会改变目录,打开这个文件夹中的资源管理器,然后运行一个程序。用户关闭程序后,批处理应关闭资源管理器(或打开的所有资源管理器),继续下一个文件夹(cd文件夹),在此文件夹中运行相同的程序,依此类推。直到最后一个文件夹被处理。除非您想编写自己的命令行应用程序来打开windows资源管理器窗口,并且(这是关键部分)不知何故知道该资源管理器窗口的窗口句柄,因此它可以向其发布WM\u CLOSE消息,这基本上是模拟有人关闭窗口 您如何确定“所

是否可以从CMD关闭Windows资源管理器?我有一批这样做:它会改变目录,打开这个文件夹中的资源管理器,然后运行一个程序。用户关闭程序后,批处理应关闭资源管理器(或打开的所有资源管理器),继续下一个文件夹(cd文件夹),在此文件夹中运行相同的程序,依此类推。直到最后一个文件夹被处理。

除非您想编写自己的命令行应用程序来打开windows资源管理器窗口,并且(这是关键部分)不知何故知道该资源管理器窗口的窗口句柄,因此它可以向其发布
WM\u CLOSE
消息,这基本上是模拟有人关闭窗口

您如何确定“所有打开的资源管理器窗口”将是,您可以从自己的应用程序中执行,而不是仅仅从命令行启动
explorer.exe
实例


我认为,确定窗口句柄(
HWND
在win32 api术语中)并发布关闭消息比尝试跟踪进程句柄和终止explorer进程实例要好,因为这可能会导致一些超出您希望的副作用。

通过关闭explorer进程来关闭explorer窗口(请注意,这可能不仅仅会杀死windows,但它肯定会做到这一点):

例如,使用win+r并尝试以下操作

cmd /c "taskkill /f /im explorer.exe && start explorer"

如果您在不重新启动资源管理器的情况下关闭了资源管理器,请使用Ctrl+shift+Esc调出taskmanager并启动一个新任务“资源管理器”。

为什么要首先打开资源管理器?出于好奇,为什么要在“运行程序”时打开资源管理器。无论如何,您可以尝试查找刚刚打开的资源管理器的进程id,然后结束此进程。用户希望在程序中执行某些操作。程序生成一些文件,检查这些文件是否正常很好。因此,他应该检查并打开这些文件以查看它们。这样他就可以关闭程序并继续工作。遗憾的是,我运行程序来自动化整个作业是不可能的。切换目录的过程是为了简化用户的作业。他可能会犯错误,但这样他就不会犯错误。我不知道如何在cmd中关闭一个进程。如何找到新的进程id?你可以用Python或任何其他capab语言构建一系列小助手程序le language。将它们视为批处理文件中有用的新命令。我不知道它的可能副本是什么窗口句柄。“除非您想编写自己的命令行应用程序以打开windows资源管理器窗口”-是的,这很理想。但我对这些事情一无所知。这是一个编程问题网站。如果你选择一种编程语言,你的问题是关于主题的。但首先你自己尝试一下。如果你问如何打开资源管理器窗口并找到或记住打开的窗口的句柄,很多人都可以帮助你,ei从Python,C++,C,Delphi,Ruby。你知道或者想学习哪一个?忘记这个。我认为CMD可以做这项工作。