gpt4 book ai didi

Scala 不允许我执行路径包含空格的批处理文件。相同的 Java 代码允许。什么给了?

转载 作者:行者123 更新时间:2023-12-04 23:57:03 26 4
gpt4 key购买 nike

这是我的代码:

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

  • /重建

  • .sln 文件的路径

vcVarsAll 包含 Visual Studio 的 vcvarsall.bat 的路径。它的路径是 C:\tools\microsoft visual studio 2005\vc\vcvarsall.bat。我收到的错误是:'c:\Tools\Microsoft' 未被识别为内部或外部命令,
可运行的程序或批处理文件。

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 执行的相同代码可以工作。我做错了什么?

最佳答案

好的,所以我尝试了所有我能想到的组合。最终起作用的是从组合中省略 cmd.exe/c

关于Scala 不允许我执行路径包含空格的批处理文件。相同的 Java 代码允许。什么给了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com