繁体   English   中英

如何从批处理脚本执行Java代码?

[英]How to execute Java code from Batch script?

我必须使用批处理脚本执行Java代码,其中Java代码必须采用从.bat文件生成的变量值并执行Java代码,然后将另一个变量值返回给.bat。

换句话说,exec.bat文件il获得一个值“ 456”。此“ 456”必须发送到java文件,执行后,我们得到另一个值“ 789”。我希望将此“ 789”返回到exe.bat。

请让我知道要在Java和批处理文件中编写的代码和语法。

提前致谢

这是一种方法:

在Java代码中:

在程序的末尾放置这一行

System.exit(789);

这里789是您将返回到批处理文件的值。

在批处理文件中:

@echo off
java Test %1
set exitcode=%ERRORLEVEL%
echo %exitcode%

这里

java Test %1是通常的Java执行,带有从批处理文件传递的参数,其中%1将映射到从命令提示符传递到批处理文件的第一个参数( 例如,明智的做法是您可以拥有%2等等 …… 请查看本文 )。

ERRORLEVEL是用于存储从Java返回的值的标准批处理变量

假设您的批处理文件名为Test.bat ,则从命令提示符下运行批处理为

Test 456

编辑 :两个数字相加的示例

Example.java

public class Example extends TestBase<String>
{
     public static void  main(String[] arg){
         int result = Integer.parseInt(arg[0].trim()) ;+Integer.parseInt(arg[1].trim())
          System.exit(result);
     }

}

编译该文件并生成一个类文件Example.class

批处理文件:

Example.bat

@echo off
java Example %1 %2
set exitcode=%ERRORLEVEL%
echo %exitcode%

将此批处理文件和Example.class放在文件夹中。 从该文件夹中打开命令提示符,并运行如下

Example 111 222

这将打印这两个数字的加法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM