Windows 中的 CMD 命令切换到已打开的应用程序

Windows 中的 CMD 命令切换到已打开的应用程序

我需要在 Windows 中使用 CMD 命令来切换到已打开的应用程序。类似 Alt + Tab。但如果使用 Alt + Tab,他可能会切换到另一个不正确的应用程序。

如果我打开了三个应用程序,我希望命令切换到特定的一个。

答案1

如何从命令行切换到已经打开的应用程序?

您可以使用nircmd尼尔软件去做这个。

例子:

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

其他可能的解决方案:AutoIt:

解决方案位于: 在 Windows 中自动在两个应用程序之间切换的应用程序

:)

答案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 中测试

相关内容