问题的标题告诉我需要实现什么。有没有办法连接两个打开的CMD窗口,以便我可以将命令输入到一个CMD窗口并在另一个CMD窗口中显示相应的输出。
不,没有办法直接连接窗户。
您可以有两个批处理文件,一个用于输入用户输入并将其保存到文件中,另一个用于循环执行新条目的文件。
在cmd
中,不同进程之间只有两种通信方式:使用文件和(鲜为人知的)waitfor
命令。
waitfor
是一个命令(afaik唯一一个跨命令行窗口工作的信号)(有关详细信息,请参阅waitfor /?
)。
Sender.bat:
@echo off
:loop
set /p "command=command> "
%command% >output.txt 2>&1
waitfor /si NewData
goto :loop
Receiver.bat
@echo off
:loop
waitfor NewData
type output.txt
del output.txt
goto :loop
当新数据可用时,waitfor /si
中的Sender.bat
发出信号。
waitfor
中的Receiver.bat
等待它收到信号NewData
,键入文件进行筛选并删除它。
奖励:您可以在相同或不同的计算机上安装sender.bat
和receiver.bat
(只要它们在同一个网络中;您应该将文件放在共同的共享上)。