使用 cmd.exe 或 PowerShell 或 Python 从 Windows 命名管道中读取

Posted

技术标签:

【中文标题】使用 cmd.exe 或 PowerShell 或 Python 从 Windows 命名管道中读取【英文标题】:Read from windows named pipe with cmd.exe or PowerShell or Python 【发布时间】:2012-08-24 13:26:10 【问题描述】:

我正在寻找一种快速方法来检查哪些数据进入命名管道(在 Windows 上)。有什么办法可以从 cmd.exe 或 powershell 或 python 中做到这一点?实际上,我只找到了创建命名管道而不是操纵它的方法。但是如何打开由另一个程序创建的命名管道?

【问题讨论】:

【参考方案1】:

Powershell 允许您使用整个 .net api,因此您可以使用 pipe function in the framework。

【讨论】:

【参考方案2】:

客户端可以像连接任何其他文件一样连接到 Windows 命名管道,前提是它是由另一个程序创建的。低级 API 是 CreateFile 使用 ALWAYS_EXISTING,但普通语言例程,如 Python 的 open 应该可以工作。文件名将是 \\ server \pipe\ name。 与磁盘文件不同,管道是临时的,当管道的每个句柄都已关闭时,管道及其包含的所有数据都会被删除,因此我个人在必要时使用服务来维护管道。

【讨论】:

以上是关于使用 cmd.exe 或 PowerShell 或 Python 从 Windows 命名管道中读取的主要内容,如果未能解决你的问题,请参考以下文章

Windows PowerShell使用

运行 Cmd.exe 后 Powershell 不会退出

cmd.exe --> powershell.exe "-File" 和 "-Command" 在同一行

powershell 使PowerShell脚本可以从任何地方运行(即CMD.EXE,Explorer,Run Dialog等)

重温:在 cmd.exe 和 PowerShell 的 for 循环中迭代变量赋值

Powershell -Window下比cmd.exe更具可读性易用性可面向对象的命令行客户端