带参数的Start-Process powershell.exe

时间:2017-01-26 22:19:53

标签: windows powershell vim

如何启动新的PowerShell实例并告诉该实例执行某个命令?

我尝试了什么:

(假设vim.exefile.txt在cwd中)

Start-Process powershell.exe .\vim.exe .\file.txt

vim.exepowershell.exe

的参数

file.txtvim.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}而没有骰子。

1 个答案:

答案 0 :(得分:3)

参数列表是一个数组...说start-process不知道如何处理.\file.txt

以下是我的写作方式

 Start-Process powershell.exe -ArgumentList @('.\vim.exe', '.\file.txt')

以下也可以,但我喜欢上面你明确说你想要一个数组

 Start-Process powershell.exe -ArgumentList '.\vim.exe', '.\file.txt'