如何启动新的PowerShell实例并告诉该实例执行某个命令?
我尝试了什么:
(假设vim.exe
和file.txt
在cwd中)
Start-Process powershell.exe .\vim.exe .\file.txt
vim.exe
是powershell.exe
file.txt
是vim.exe
错误说:
Start-Process : A positional parameter cannot be found that accepts argument
'.\file.txt'.At line:1 char:1
+ Start-Process powershell.exe .\vim.exe .\file.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
我也尝试了powershell.exe -ArgumentList {.\vim.exe .\file.txt}
而没有骰子。
答案 0 :(得分:3)
参数列表是一个数组...说start-process
不知道如何处理.\file.txt
以下是我的写作方式
Start-Process powershell.exe -ArgumentList @('.\vim.exe', '.\file.txt')
以下也可以,但我喜欢上面你明确说你想要一个数组
Start-Process powershell.exe -ArgumentList '.\vim.exe', '.\file.txt'