6

我只想复制我在 Linux 系统上所做的相同行为

c:\> \{CURL_EQUIVALENT_ON_WINDOWS} - http://url/script | powershell 

那可能吗?

基本上我想执行从服务器下载的流。

IE:分步骤:

1) 了解如何在 powershell 中执行流。执行一个流(我已经在文件系统上)

c:\> type script.ps1 | powershell -command - 

但这不起作用。

有一个选项 -File 可以执行“文件”,基本上我想在可能的情况下执行流。

2) 了解如何执行我从服务器下载的流并将其通过管道传输到 powershell。

4

2 回答 2

7

感谢 dugas,我学习了如何使用 powershell 执行流,并通过此链接http://blog.commandlinekungfu.com/2009/11/episode-70-tangled-web.html我了解如何从 http 获取内容作为流与powershell。

所以最后的卷曲| powershell 管道如下所示:

PS C:\>(New-Object System.Net.WebClient).DownloadString("http://url/script.ps1") | powershell -command -

非常感谢为这个问题做出贡献的每个人:-)

于 2013-04-23T18:20:42.417 回答
3

您可以使用连字符指定 powershell 的命令参数,以使其从标准输入中读取其命令。下面是一个例子:

"Write-Host This is a test" | powershell -command -

使用脚本文件内容的示例:

Get-Content .\test.ps1 | powershell -command -

从 powershell 帮助菜单:

powershell /?

-Command
执行指定的命令(和任何参数),就好像它们是在 Windows PowerShell 命令提示符下键入的一样,然后退出,除非指定了 NoExit。Command 的值可以是“-”,一个字符串。或脚本块。

If the value of Command is "-", the command text is read from standard
input.
于 2013-04-23T17:09:30.327 回答