如何使用批处理文件关闭所有活动的窗口/应用程序

时间:2016-08-03 18:14:48

标签: windows batch-file cmd

我是初学者。我只是对cmd感到好奇所以我想创建一个批处理文件来杀死活动窗口并安全地关闭/重启计算机。 我遇到了像 -

这样的命令

taskkill / im" program.exe"

任务列表

shutdown -s

但我想要关闭所有活动的窗口,但不要强行关闭。 如果有特定命令或某些命令组合请提及。 在此先感谢。

PS-我遇到了powershell,但我想知道我是否可以使用批处理文件(cmd命令)实现这一点.Below是链接

How to close all windows

3 个答案:

答案 0 :(得分:0)

title Kill all running apps
cd c:\windows\System32
for /f "skip=3 tokens=1" %%i in ('TASKLIST /FI "USERNAME eq %userdomain%\%username%" /FI "STATUS eq running"') do (
if not "%%i"=="svchost.exe" (
if not "%%i"=="explorer.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="tasklist.exe" (
echo.
taskkill /f /im "%%i" 
taskkill /f /im explorer.exe
echo.
)
)
)
)
)
pause

答案 1 :(得分:0)

如果在explorer.exe上执行treekill,它将关闭除后台进程以外的所有其他程序。这些批处理脚本只有在以一种特殊的方式(使它们成为后台进程,系统进程或不是explorer.exe的子进程)被调用时才能工作。

这是我的treekill资源管理器方法的最快参考实现

@echo off
echo closing all programs...
taskkill /f /t /im explorer.exe
explorer.exe

这是我的treekill资源管理器方法与hibernate结合使用的示例实现,以制作快速关闭和启动脚本。

@echo off
echo shutting down...
echo closing all programs...
taskkill /f /t /im explorer.exe
echo hibernating...
shutdown /f /h
echo restoring...
explorer.exe
echo thanks you for using JessieTessie's fast shutdown and startup.

答案 2 :(得分:0)

你可以做到

@echo off
@powershell Get-Process | Where-Object {$_.MainWindowTitle -ne ""} | stop-process
taskkill /f /im explorer.exe

它将执行 powershell 命令,该命令将查找并关闭所有未使用 windowtitle 隐藏或升级的正在运行的程序。 但它会关闭所有应用程序,包括您的应用程序。 为了防止您需要从 C++ 重新编码(您可以使用 windows.h 中的 system("somecommand") ),并且在执行 closeAll 命令之前将 freeconsole() 放入代码中。但是您需要找到如何恢复控制台。