Windows Powershell:在活动 shell 中评估一系列命令

Windows Powershell:在活动 shell 中评估一系列命令

假设我有一系列命令:

# foo.ps1
do-this
do-that 
do-something-totally-different
etc.

接下来,我想停止在活动 shell 中写出这些内容(因为它会修改我的 shell 环境),因此在 bash 中我只需写:

cat foo.ps1 | xargs -I arg eval arg

或类似的规定。

如何使用 Windows Powershell 实现相同的效果?

答案1

要在当前作用域而不是新作用域中运行脚本文件,请使用点源

. .\foo.ps1

或者,您可以使用Invoke-ExpressionPowerShell 的eval等效程序,它与在提示符下自己输入命令完全相同:

Get-Content .\foo.ps1 -Raw | Invoke-Expression

或者更简洁地说:

gc .\foo.ps1 -raw | iex

相关内容