我必须使用批处理脚本执行 java 代码,其中 java 代码必须获取从 .bat 文件生成的变量值并执行 java 代码,然后将另一个变量值返回给 .bat 。
比如说,exec.bat文件得到一个值“456”。这个“456”必须发送到java文件,执行后我们得到另一个值“789”。我希望这个“789”返回exe.bat
请让我知道要在 java 和批处理文件中编写的代码和语法。
提前致谢
我必须使用批处理脚本执行 java 代码,其中 java 代码必须获取从 .bat 文件生成的变量值并执行 java 代码,然后将另一个变量值返回给 .bat 。
比如说,exec.bat文件得到一个值“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
批处理文件:
例子.bat
@echo off
java Example %1 %2
set exitcode=%ERRORLEVEL%
echo %exitcode%
将此批处理文件和 Example.class 放在一个文件夹中。从该文件夹打开命令提示符并按如下方式运行
Example 111 222
这将打印这两个数字的加法