我试图在Windows 10中使用Powershell作为我的主要shell。大部分时间它运行良好,但是有些事情会让我回到旧命令提示符,我希望他们不会这样做。吨。
我尝试使用cmake创建Visual Studio解决方案。这是在命令提示符下正常工作的命令行(为清晰起见分为行)
cmake .. -G "Visual Studio 14 2015" -A x64
-DBOOST_ROOT=d:\boost\1_59_0
-DBOOST_LIBRARYDIR=d:\boost\1_59_0\lib64
当我从Powershell运行相同的命令时,cmake抱怨我没有指定BOOST_ROOT。
我尝试使用& cmake ...
,我尝试在所有-D&#39周围加上引号(如here所述) - 没有任何作用。我不能让Powershell按命令行传递给cmake。
有没有办法告诉Powershell在' cmake'之后传递文字?直接到cmake没有任何进一步处理?请注意,我不能在所有参数周围加上引号,因为它们中已经有引号(-G ...)。如果我在所有内容中加上单引号 - 它仍然无法正常工作。
答案 0 :(得分:2)
要在PowerShell中启动外部程序,最好使用Start-Process
及其-ArgumentList
参数:
Start-Process cmake -ArgumentList "-G ""Visual Studio 14 2015"" -A x64 -DBOOST_ROOT=d:\boost\1_59_0 -DBOOST_LIBRARYDIR=d:\boost\1_59_0\lib64" -NoNewWindow
可以在Microsoft help上或在PowerShell中使用以下命令找到有关此Cmdlet的更多信息:
Get-Help Start-Process -ShowWindow