我试图通过使用以下命令运行保存在文本文档中的PowerShell脚本:
cat myScript.txt | Invoke-Expression
当每个命令都在自己的行上时它可以工作,但是抛出一个错误,提示我缺少语法:
Invoke-Expression: At line:1 char:14
+ function foo {
+ ~
Missing closing '}' in statement block or type definition.
myScript.txt中的代码如下:
function foo {
param([int]$a, [int]$b)
echo "$a + $b"
}
foo 1 2
是否可以在不更改文本文件的情况下运行此脚本,以将所有功能合并为一行?
答案 0 :(得分:0)
您可以使用Get-Content -Raw
,然后将内容添加到脚本块中。
$file = Get-Content myScript.txt -Raw
$scriptBlock = [System.Management.Automation.ScriptBlock]::Create($file)
& $scriptBlock