【问题标题】:Is it possible to start a subprocess and creates pipes for stdin/stdout using PowerShell?是否可以使用 PowerShell 启动子进程并为 stdin/stdout 创建管道?
【发布时间】:2018-05-31 11:03:50
【问题描述】:

我查看了 PowerShell 文档,了解如何启动子进程并为 stdin/stdout 创建管道。

但是,我似乎找不到有关该主题的任何信息。

我想要实现的有点类似于MSDN上的C++代码:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682499(v=vs.85).aspx

PowerShell 是否提供与脚本语言等效的功能?

【问题讨论】:

标签: windows powershell


【解决方案1】:

是的。这是一个子进程的示例,标准输出被重定向到一个文件。你必须详细说明你想做什么。

scriptBlock = {

    "Hello World" | Out-File -FilePath 'd:\jobTest.txt'

 }

Start-Job -ScriptBlock $scriptBlock

【讨论】:

  • 谢谢 - 我想在 PowerShell 中实现一个类似 netcat 的客户端。特别是,我想:1)连接一个 TCP 套接字,2)启动一个 CMD.exe 子进程,3)在套接字和 CMD.exe 之间创建一个管道。有任何想法吗?有可能吗?
  • 是的。我会使用运行空间和同步哈希来完成作业 1(套接字)和作业 2(cmd)之间的数据交换。
  • 能不能举个小例子,还是填的太多了?
  • 好的,我知道运行空间是如何工作的。但似乎我只能在BeginInvoke() 完成后才能检索输出?
  • 这是一个很好的介绍例子:learn-powershell.net/2013/04/19/…
猜你喜欢
  • 2021-06-02
  • 1970-01-01
  • 2013-11-08
  • 2019-08-22
  • 2021-04-27
  • 1970-01-01
  • 2014-02-14
  • 2020-08-29
  • 1970-01-01
相关资源
最近更新 更多