我想编写一个Windows批处理文件,首先编译一个scala脚本,然后运行它。
不知何故,当我运行.bat文件时,它只会执行第一个命令,而不是第二个命令。它只会编译脚本而不会运行它。
如果我自己执行.bat文件的两个命令,它就可以工作。
我做错了什么?
v.scala的内容:
object v extends App {
println("hello")
}
run.bat的内容:
scalac v.scala
scala v
感谢
答案 0 :(得分: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