问:如何向固定的应用程序添加命令行参数并使其仍然匹配?
我的习惯/工作流程将许多应用程序“固定”到 Windows 任务栏,这样它Win-#
就会“总是”将我切换到正确的窗口。
(我是 R 的 emacs/ess 用户,没有 RStudio。)如果我已经打开了一个图,那么Win-2
将立即切换到图窗口。但是,如果图尚未完成,则按Win-2
将开始该应用程序的新实例。在本例中,图标属性为:
目标:
C:\R\R-3.5.3\bin\x64\Rterm.exe
开始于:
C:\R\R-3.5.3\bin\x64
快捷键:
None
跑步:
Normal Window
我想设置它,以便Win-2
在没有图存在时无意中按下不会启动新的实例Rterm
。一个缓解步骤可能是Rterm
通过添加--help
到目标立即退出,但这样做会导致窗口名称匹配失败,并且任何后续打开的图都不会使用该任务栏位置。
有没有办法添加不会破坏标题匹配的参数?我绝不打算用该图标启动 R(始终在 emacs/ess 内),因此如果有办法让它永远不会启动应用程序(如果在其他地方创建则只需切换到它),那也很好。
(解决方案很可能以 Windows 为中心:我相信 R 对此没有控制或输入。)
答案1
事实上,这个问题与统计编程语言关系不大R
。
它更相关的是微软 视窗 10操作系统。
我认为您可以通过在桌面上创建一个图标来开始构建此问题的解决方案。
在这里,您可以在桌面图标所代表的快捷方式的命令行上添加所需的任何参数。
当然,您要给桌面图标命名。
您已经为用户的愉悦创建了强大的桌面图标。
将其拖到任务栏上。
按下Windows+3即可启动静态软件应用程序。
现在,通过分析命令行的输出Rterm --help
,您可能会发现一个不会启动新实例的开关期限尽管不存在情节。
更新:
我认为我们可以避免寻求期限专家,@r2evans。我想出了一个你可以尝试的 One-Liner。
cmd.exe /c pause
只需将上面的One-Liner更改为%SystemRoot%\System32\WindowsPowerShell\v1.0\PowerShell.Exe -Command "If ((Get-Process -Name RTerm) -Eq $()) {Exit-PSSession}"
One-Liner 即可。
简而言之,不要启动微软 视窗 10命令行预处理器,它会启动微软 视窗 电源外壳Shell 脚本环境只是为了给它提供一个简单的If
语句,检查绘图是否正在运行,如果没有绘图,它就会退出。
如果有情节,则按下Windows+3快捷键组合即可切换到现有情节。