[英]How can I Start-Process powershell.exe with some string splitter?
我想用这样的脚本块启动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
}
我认为我需要Add-Type -AssemblyName "SomeNameSpace"
,但是如何找到该命名空间? 任何智慧或类似的东西吗?
问题出在引号上。 如果您将双引号括起来,则可以使用它。 它也适用于三重双引号。
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"
您可以使用start-job,它实际上是在启动新的powershell过程。 而且您可以轻松完成。 像这样 :
start-job
如需更多帮助,请使用:
get-help start-job
您可以使用start-job,它实际上是在启动新的powershell过程。 而且您可以轻松完成。 像这样 :
$script= {get-help "dir"}
start-job -scriptblock $script
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.