如何在scala中执行系统命令

时间:2016-08-07 11:47:52

标签: scala cmd

我是scala的新手,我正在尝试运行这个简单的程序,从用户那里获取输入并在操作系统中执行它:

import scala.io._ 
import sys.process._

object MyCmd {
    def main(args: Array[String]) = {
      print("> ")
      var inputString = StdIn.readLine()

      while(!inputString.trim().equals("exit")) {
        var proc = stringToProcess(inputString)
        println( proc.!!)
        print("> ")
        inputString = StdIn.readLine()
     }
  }
}

但是当我运行它时:

c:\IDE\scala\test>scala MyCmd
> dir
java.io.IOException: Cannot run program "dir": CreateProcess error=2, The
system cannot find the file specified
...

任何帮助都会非常感激

1 个答案:

答案 0 :(得分:2)

sys.process.ProcessBuilder not runnig Windows cmd command。

请参阅Executing shell commands from Scala REPL

如果需要使用cmd命令,可以执行

val proc = stringToProcess("cmd /C "+inputString)
println(proc.!!)