gpt4 book ai didi

powershell - 将标准输入(读取主机)重定向到 Powershell 脚本

转载 作者:行者123 更新时间:2023-12-03 23:49:39 25 4
gpt4 key购买 nike

这是一个示例 powershell 脚本:

$in = read-host -prompt "input"
write-host $in

这是一个示例“test.txt”文件:
hello

我们希望从 powershell 将管道输入传递给它。这是我尝试过的一些:
.\test.ps1 < test.txt
.\test.ps1 < .\test.txt
.\test.ps1 | test.txt
.\test.ps1 | .\test.txt
test.txt | .\test.ps1
.\test.txt | .\test.ps1
get-content .\test.txt | .\test.ps1

即使只是尝试回显输入也不起作用:
echo hi | \.test.ps1

上面每个不会产生错误的示例总是提示用户而不是接受管道输入。

备注 :我的 powershell 版本表显示 4.0.-1.-1

谢谢

编辑/结果:对于那些寻求解决方案的人,您不能将输入通过管道传输到 powershell 脚本。你必须更新你的PS文件。请参阅下面的片段。

最佳答案

问题是您的脚本 \.test.ps1不期待值(value)。

尝试这个:

param(
[parameter(ValueFromPipeline)]$string
)

# Edit: added if statement
if($string){
$in = "$string"
}else{
$in = read-host -prompt "input"
}

Write-Host $in

或者,您可以使用魔术变量 $input没有 param部分(我不完全理解这一点,所以不能真正推荐它):
Write-Host $input

关于powershell - 将标准输入(读取主机)重定向到 Powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44371646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com