我需要在 Windows 中使用 CMD 命令来切换到已打开的应用程序。类似 Alt + Tab。但如果使用 Alt + Tab,他可能会切换到另一个不正确的应用程序。
如果我打开了三个应用程序,我希望命令切换到特定的一个。
答案1
如何从命令行切换到已经打开的应用程序?
例子:
nircmd win activate title "Calculator"
笔记:
首页 > 文件 > nircmd >
NirCmd 是一个小型命令行实用程序,它允许您执行一些有用的任务而无需显示任何用户界面。通过使用简单的命令行选项运行 NirCmd,您可以写入和删除注册表中的值和键、将值写入 INI 文件、拨号到您的互联网帐户或连接到 VPN 网络、重新启动 Windows 或关闭计算机、创建文件的快捷方式、更改文件的创建/修改日期、更改显示设置、关闭显示器、打开 CD-ROM 驱动器的门等等……
来源nircmd
免责声明
我不隶属于尼尔软件无论如何,我只是该软件的最终用户。
答案2
解决方案只有一行初始化和一行调用。%tmp%\switch.vbs ...
下面使用了两次调用。
Title %vTitle%
:: preparation (initialisation)
@echo WScript.CreateObject("WScript.Shell").AppActivate(WScript.Arguments.Item(0))>%tmp%\switch.vbs
:: some cmd lines exposing other windows
:: ...
:: just as an example to start the notepad
start "" notepad
:: use 1: focus back on this cmd window
%tmp%\switch.vbs %vTitle%
:: ...
:: use 2: focus to an application with <application name>
%tmp%\switch.vbs "<application name>"
答案3
答案4
Win CMD、批处理文件和 DOS 是命令行 (CLI) 实用程序,如果您要切换应用程序窗口,则需要与 GUI 一起使用的脚本。
VBScript“自 Windows 98 以来默认安装在 Microsoft Windows 的每个桌面版本中”,并且“获得了寻求自动化工具的 Windows 系统管理员的支持比批次更强大语言”。
从那时起,JScript 也得到了支持,并且具有与 Javascript 类似的语法,“Microsoft 的 ECMAScript 方言”。
可以将 VBS 或 JS 代码插入批处理文件并从批处理文件运行,并由 cscript(控制台)或 wscript(窗口)托管。
通过 Win CMD“切换到已打开的应用程序”:
将其保存为 switch.vbs
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim ARGS
set ARGS=WScript.Arguments
WshShell.AppActivate(ARGS.Item(0))
WshShell.SendKeys("~")
WScript.Echo(ARGS.Item(0) + " activated")
WScript.Quit(0)
然后switch.vbs "<application name>"
或者
将其保存为 switch.bat
@if (@a==@a) @end /*
cscript //E:JScript //nologo "%~f0" %*
REM --- Insert other batch codes here ---
exit /b
*/
// --- JScript codes below this line ----
var WshShell = WScript.CreateObject("WScript.Shell");
var ARGS = WScript.Arguments;
WshShell.AppActivate(ARGS.Item(0));
WshShell.SendKeys("~");
WScript.Echo(ARGS.Item(0) + " activated");
WScript.Quit(0);
然后运行switch.bat "<application name>"
如果您不想像上述解决方案那样创建单独的文件或下载外部程序(如 nircmd 或 nirsoft)以从 Win CMD 运行(即只能从 Win CMD 中实现的解决方案),那么要么回显到临时文件然后在调用后删除,要么将所有命令存储在变量中然后命令该变量。
在 Win 10 中测试