我想用这样的脚本块启动 A B
1: 1 1
2: 2 2
3: 3 3
4: NA 4
5: NA 5
(它工作正常):
powershell.exe
但是这个脚本不起作用:
Start-Process powershell.exe {
Get-Help
Get-Process
}
我认为我需要Start-Process powershell.exe {
$string = "123xAbcxEFG"
$split1,$split2,$split3 = $string.Split("x")
Write-Output $split1
Write-Output $split2
Write-Output $split3
sleep 10
}
,但我怎样才能找到该命名空间?任何intellisense或类似的东西?
答案 0 :(得分:2)
问题在于引号。它是有效的,如果你是在双引号周围添加额外的单引号。它也适用于三重双引号。
Start-Process powershell.exe {
$string = """123xAbcxEFG"""
$split1,$split2,$split3 = $string.split("""x""")
Write-Output $split1
Write-Output $split2
Write-Output $split3
sleep 10
}
我如何更改代码以捕获错误(没有额外的双引号):
$ScriptBlock = {
$string = "123xAbcxEFG"
$split1,$split2,$split3 = $string.split("x")
Write-Output $split1
Write-Output $split2
Write-Output $split3
sleep 10
}
Start-Process powershell -argumentlist "-noexit -command $ScriptBlock"
答案 1 :(得分:1)
你可以使用start-job实际启动新的PowerShell流程。你可以做到很容易。像这样:
start-job
获取更多帮助:
get-help start-job
答案 2 :(得分:0)
你可以使用start-job实际启动新的PowerShell流程。你可以做到很容易。 像这样:
$script= {get-help "dir"}
start-job -scriptblock $script