语境
到目前为止,我已经使用以下命令在桌面上创建了一个快捷方式:
%windir%\System32\tscon.exe 1 /dest:console
它在我的旧 Windows 7 机器上运行良好,其中此活动 rdp 会话的 id 固定为 1。然而,在我的新 Windows 10 安装上情况并非如此,它正在发生变化。
我发现那个命令
c:\>qwinsta
可以给我活动会话的 ID,所以我可以用它替换数字 1 参数。然而,这似乎是一个生产力瓶颈,而不是只需单击一个图标即可。
问题
有什么方法可以解决这个脚本,以某种方式获取当前活动的 rdp 会话 ID 并用它来调用 tscon?
答案1
像这样:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=1-3 delims= " %%a in ('qwinsta^| findstr "console"') do set SessionID=%%c
%windir%\System32\tscon.exe %SessionID% /dest:console
endlocal
当我说“将其放入变量中”时,这就是我对 %SessionID% 所做的操作。我正在提取控制台的会话 ID 号并将其分配给变量 %SessionID%。在下一行中,我在 tscon 命令中使用该变量。
现在您要做的就是为这个小脚本创建一个快捷方式,就可以了。
如果您需要进一步解释,请告诉我。