2

我想编写一个 Windows 批处理文件,它首先编译一个 scala 脚本然后运行它。

不知何故,当我运行 .bat 文件时,它只会执行第一个命令,而不是第二个。它只会编译脚本而不运行它。

如果我自己执行 .bat 文件的两个命令,它就可以工作。

我究竟做错了什么?

v.scala 的内容:

object v extends App {
println("hello")
}

run.bat 的内容:

scalac v.scala
scala v

谢谢

4

1 回答 1

2

scalac批处理文件吗?如果是,请尝试制作它call scalac

如果从另一个调用批处理文件,第一个批处理文件将在执行第二个批处理文件后退出,除非它是用“call”调用的。

这是一个例子:

Foo1.bat

foo2.bat
echo foo1

Foo2.bat

echo foo2

看起来如果你运行 Foo1.bat,它会同时吐出“foo1”和“foo2”,但它不会:

C:\temp>foo1

C:\temp>foo2.bat

C:\temp>echo foo2
foo2

要更改行为,Foo1.bat 应如下所示:

foo1.bat

    call foo2.bat
    echo foo1
于 2013-04-10T19:56:42.207 回答