当我尝试在matlab的system
函数中使用调用操作符时,我得到一个错误。例如,此命令在PowerShell中运行良好:
& "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv"
但在MatLab中这是行不通的:
system('& "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv"')
我得到了错误& was unexpected at this time.
,它看起来像是PowerShell错误,因为MatLab实际上并没有返回错误。但很明显,该命令没有正确运行,就像我在PowerShell中正确运行它时一样。
1条答案
按热度按时间oo7oh9g91#
正如Cris Luengo指出的那样,matlab的
system
使用的是cmd.exe
,而不是PowerShell。因此,这是可行的:事实上,它正在构建解决方案,但不显示构建的任何输出,也不给出构建失败或成功的正确返回值。Aero Engy建议在调用开始时使用
powershell -command
也是有效的,更好的是,它返回正确的值,构建的输出显示在控制台中。我不得不用反号转义一些空格(否则无法识别嵌套的引号),但现在这是我首选的解决方案: