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