【问题标题】:How to execute system commands in scala如何在scala中执行系统命令
【发布时间】:2016-08-07 23:42:09
【问题描述】:

我是 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
...

任何帮助将不胜感激

【问题讨论】:

  • 我无法重现这个。复制粘贴此代码对我有用。您使用的是哪个 Scala 版本?

标签: scala cmd


【解决方案1】:

sys.process.ProcessBuilder 未运行 Windows cmd 命令。

Executing shell commands from Scala REPL

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

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

【讨论】:

  • 我看过很多文章,没有一篇写过任何关于cmd /CstringToProcess 的文章,这对我有很大帮助。谢谢!
猜你喜欢
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 2021-09-07
  • 2014-04-16
相关资源
最近更新 更多