我如何使用一些字符串拆分器启动进程 powershell.exe?
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 进程。你可以做的很容易。
像这样:
$script= {get-help "dir"}
start-job -scriptblock $script
你可以使用 start-job 它实际上是启动新的 powershell 进程。你可以做的很容易。像这样:
start-job
如需更多帮助,请使用:
get-help start-job
我想 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 进程。你可以做的很容易。 像这样:
$script= {get-help "dir"}
start-job -scriptblock $script
你可以使用 start-job 它实际上是启动新的 powershell 进程。你可以做的很容易。像这样:
start-job
如需更多帮助,请使用:
get-help start-job