创建批处理文件,用于简单的javac和java命令执行

这是一件非常简单的事情,但我无法理解它。 我看过很多StackOverFlowpost以及互联网。

我的目标是创建一个.bat,它将打开cmd并将我的Main.java执行到命令提示符。 容易不是,但我对如何感到困惑?

下面我正在编写我的批处理文件应该执行的步骤

  1. 打开cmd
  2. javac Main.java
  3. java主要

我的文件将驻留在我的所有.java旁边,所以我假设我不需要给出明确的路径。

到目前为止我对研究的理解:

  1. 打开文本编辑器
  2. 写一个代码来打开cmd(我不知道怎么做)
  3. echo javac Main.java(对我来说仍然是模糊的概念)
  4. echo java Main

另存为:name.bat

任何帮助将不胜感激。 谢谢。

  1. 打开记事本

  2. @echo off javac Main.java java Main 

3.saveAs blahblah.bat

确保Main.java与您的批处理文件一起驻留,并且在env中设置了java路径。 变量

4。 双击批处理文件,无需显式打开cmd tt将在.bat执行时打开自己

你想在Run.bat中使用这四行代码:

 @echo off //this makes it so you have an empty cmd window on startup javac Main.java //this compiles the .java into a .class java Main // this runs the .class file pause //this prevents the window from instantly closing after program end 

我只理解你的问题吗? 你需要.bat文件来编译和执行java类文件吗?

如果是.bat文件。 你可以双击。

在你的.bat文件中,你只需要javac Main.java((确保你的bat有你的Main.java的路径)java Main

如果要回显编译警告/语句,则需要其他内容。 但是既然如此,你希望自动化,也许你最终不需要它。

创建纯文本文件(使用记事本),然后使用命令提示符键入用于运行Java文件的确切行。 然后将扩展名更改为.bat,您就完成了。

双击此文件将运行您的Java程序。

我推荐一个用于javac的文件,一个用于java的文件,因此如果出现任何问题,您可以进行故障排除。

  • 确保java也在你的路径中。在你的java工作区中,IE在Dos窗口中输入java应该会显示java版本消息。 如果java不在您的路径中,则除非使用绝对路径指向java二进制文件,否则批处理文件将不起作用。
  1. 打开记事本

  2. 输入以下内容:

     javac * java Main 
  3. SaveAs Main.bat或您希望用于批处理文件的任何名称

确保Main.java与批处理文件一起位于同一文件夹中

双击批处理文件以运行Main.java文件

我没有在我的机器上安装JDK来validation这一点,但这里有一些东西可以帮助你入门

 %CLASSPATH%=C:\Program Files\Java\jdk1.6\bin rem or whatever your path is START %CLASSPATH%\javac Main.java START %CLASSPATH%\java Main 

我要补充的另一件事就是让它更灵活。 大多数时候我会有一个我想运行的普通java文件 – Main.java,Simple.java,Example.java或Playground.java(你明白了)。

我使用以下内容来删除javac和相应的java。

 @echo off javac %~n1.java java %~n1 

%~n1获取传递给批处理文件的第一个参数的文件名(无扩展名)。 所以这样我可以使用tab完成它来运行它,而不必担心它使用.class或.java扩展。

所以以下两个都会有相同的结果:

 run.bat Main.class and run.bat Main.java 

不是100%回答原始海报问题,但我认为对于简单的javac / java程序来说这是一个很好的下一步/进化。

我也遇到了类似的情况,我需要一个可以处理javac然后java(ing)我的java程序的脚本。 所以,我想出了这个BATCH脚本。

 :: @author Rudhin Menon :: Created on 09/06/2015 :: :: Auto-Concrete is a build tool, which monitor the file under :: scrutiny for any changes, and compiles or runs the same once :: it got changed. :: :: ======================================== :: md5sum and gawk programs are prerequisites for this script. :: Please download them before running auto-concrete. :: ======================================== :: :: Happy coding ... @echo off :: if filename is missing if [%1] EQU [] goto usage_message :: Set cmd window name title Auto-Concrete v0.2 cd versions if %errorlevel% NEQ 0 ( echo creating versions directory mkdir versions cd versions ) cd .. javac "%1" :loop :: Get OLD HASH of file md5sum "%1" | gawk '{print $1}' > old set /p oldHash= new set /p newHash=nul goto inner_loop ) :: Once they differ, compile the source file :: and repeat everything again echo. echo ========= %1 changed on %DATE% at %TIME% =========== echo. javac "%1" goto loop :usage_message echo Usage : auto-concrete FILENAME.java 

上面的批处理脚本将检查文件是否有任何更改,如果有任何更改则编译,您可以随时调整它以进行编译。 快乐编码:)

 @author MADMILK @echo off :getback1 set /p jump1=Do you want to compile? Write yes/no : if %jump1% = yes goto loop if %jump1% = no goto getback2 :: Important part here :getback2 set /p jump2=Do you want to run a java program? Write yes/no : if %jump2% = yes goto loop2 if %jump2% = no goto getback1 :: Make a folder anywhere what you want to use for scripts, for example i make one. cd desktop :: This is the folder where is gonna be your script(s) mkdir My Scripts cd My Scripts title Java runner/compiler echo REMEMBER! LOWER CASES AND UPPER CASES ARE IMPORTANT! :loop echo This is the java compiler program. set /p jcVal=What java program do you want to compile? : javac %jcVal% :loop2 echo This is the java code runner program. set /p javaVal=What java program do you want to run? : java %javaVal% pause >nul echo Press NOTHING to leave 

我刚刚创建了一个简单的批处理脚本,它将文件名作为参数编译并使用一个命令运行java文件。 这是代码:

 @echo off set arg1=%1 shift javac -cp . %arg1%.java java %arg1% pause 

我刚刚将其保存为run-java.bat并将其放在System32目录中,以便我可以随时随地使用该脚本。

要使用我会做的命令:

 run-java filename 

它将编译并运行该文件。 只需确保在键入文件名时省略.java扩展名 (即使您键入文件名也可以使其工作,但我是批处理新手,但不知道如何操作)。

嘿,我认为你只需复制你编译的类文件并复制jre文件夹,并将以下内容作为批处理文件的内容,并将所有Windows机器保存在一起,只需双击

 @echo setpath d:\jre d: cd myprogfolder java myprogram