相关疑难解决方法(0)

Scala系统进程和空白

我试图发出一个系统命令来运行FreeSurfer的mri_convert.您并不需要了解mri_convert是什么,因为您必须了解进程如何从scala转移到系统.代码在很大程度上起作用,但是当我尝试发送带有空格的文件路径时,它会中断(即使在我用空格替换之后\).我将在下面发布我的代码,然后使用不包含路径空间的目录的文件输出,然后从带有空格的目录的文件路径发布.

def executeAll(): Boolean = {
  while (dataBuf.length != 0) {
    val dir = directory + "subjects/" + dataBuf.first.subjectID + "/mri/orig"
    val expr = """\s+""".r  
    val path = expr.replaceAllIn((dataBuf.first.path), """\\ """)
    val folder = new File(dir)
    val execute = freesurfer + """bin/mri_convert -it dicom -ot mgz -ii """ + path + """ -oi """ + dir + """/001.mgz"""
    if (folder.mkdirs()) {
      val command = Process(execute, folder, ("FREESURFER_HOME", freesurfer))
      val exitCode = command.!
      println(command.toString())
    }
    dataBuf.remove(dataBuf.indexOf(dataBuf.first))
  }
  println("DONE")
  dataListView.listData …
Run Code Online (Sandbox Code Playgroud)

scala system process

1
推荐指数
1
解决办法
1289
查看次数

标签 统计

process ×1

scala ×1

system ×1