Вот код, который у меня есть:
var commandsBuffer = List[String]()
commandsBuffer ::= "cmd.exe"
commandsBuffer ::= "/c"
commandsBuffer ::= '"'+vcVarsAll.getAbsolutePath+'"'
commandsBuffer ::= "&&"
otherCommands.foreach(c => commandsBuffer ::= c)
val asArray = commandsBuffer.reverse.toArray
val processOutput = processutils.Proc.executeCommand(asArray,true)
return processOutput
otherCommands
- это Array[String]
, содержащий следующие элементы:
vcbuild
/rebuild
путь к файлу .sln
vcVarsAll содержит путь к vcvarsall.bat
Visual Studio. Это путь C:\tools\microsoft visual studio 2005\vc\vcvarsall.bat
. Я получаю ошибку:
'c:\Tools\Microsoft' is not recognized as an internal or external command,
operable program or batch file.
.
processutils.Proc.executeCommand
имеет следующую реализацию:
def executeCommand(params:Array[String],display:Boolean):(String,String) = {
val process = java.lang.Runtime.getRuntime.exec(params)
val outStream = process.getInputStream
val errStream = process.getErrorStream
...
}
Тот же код, выполненный из Java / Groovy работает. Что я делаю не так?