标准输入到 powershell 脚本

2024-01-30

我正在运行一个服务,它可以调用外部进程来修改文本流,然后再将其返回到服务。文本流从服务传递到 stdout 上的外部进程,并从 stdin 上的服务读取修改后的结果。换句话说,外部过程(命令)可以用作文本“过滤器”。我想使用 powershell 脚本来修改文本流。我可以使用命令“powershell -executionpolicy绕过-noninteractive ./myscript.ps1”在win 2008r2上成功从服务启动脚本。

我可以使用 write-host cmdlet 让脚本将文本返回到标准输出上的服务。我的问题是我找不到读取脚本中 stdin 上的文本的方法。读取主机似乎不起作用,因为它需要交互式 shell。

我想避免将服务的标准输出写入 tmp 文件并在脚本中读取该文件,因为该服务是多线程的(一次可以启动多个外部命令)和 tmp 文件管理(锁定、唯一文件名等)是不希望的。

这是可能的还是我应该使用例如 Perl 来实现这一点? Powershell 似乎很有吸引力,因为它预装在我所有的 win 2008 机器上。


只是一个猜测 - 我会看看[Console]::In | gm -static.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标准输入到 powershell 脚本 的相关文章

随机推荐