现在这可能听起来很异想天开,但我想知道,是否可以编写一个批处理脚本,强制终止 Explorer.exe 及其子进程,然后再次成功启动 Explorer.exe 进程,而不必再次运行该批处理脚本?
我尝试了下面的代码,但即使等待了 10 分钟,Explorer.exe 也还没有启动,所以我不敢将/T
其添加到taskkill
。
start /wait taskkill /IM explorer.exe /F
start "" explorer.exe /wait
我怎样才能以自主的方式使用批处理脚本实现这样的目标?
taskkill /IM /F Explorer.exe /T
start /wait Explorer.exe
答案1
start
命令以不寻常的方式启动程序。它不是通常使用的东西。在start
( start /?
) 的帮助中,它讨论了如何正常启动程序以及使用start
。
taskkill /IM explorer.exe /F
start explorer
第一行。控制台程序在正常启动时始终等待。要让它们不等待,请使用start
。
第二行。GUI 程序在正常启动时不会等待,但出于兼容性原因,批处理文件中除外。如果您不想等待资源管理器,请使用start
不等待。
另外,如果你按住 Ctrl+Shift 并右键单击任务栏上的空白处,你会看到退出资源管理器选项将正常关闭资源管理器。按 Ctrl+Shift+Esc 启动任务管理器并文件菜单 -运行新任务并输入 explorer。
答案2
start /wait taskkill /IM explorer.exe /F
然后执行start /wait explorer
它对我来说是有效的。注意:/wait
将意味着命令永远不会完成。大多数程序都是 explorer 的子进程,这意味着它永远无法完全启动。