我必须使用批处理脚本执行java代码,其中java代码必须获取从.bat文件生成的变量值并执行java代码,然后将另一个变量值返回给.bat.
比方说,exec.bat文件il得到一个值"456".这个"456"必须被发送到java文件,执行后我们得到另一个值"789".我希望这个"789"返回到exe.bat.
请让我知道要在java和批处理文件中编写的代码和语法.
提前致谢
这是一种方法:
在Java代码中:
在程序结束时放这一行
System.exit(789);
Run Code Online (Sandbox Code Playgroud)
以下789是您将返回批处理文件的值.
在批处理文件中:
@echo off
java Test %1
set exitcode=%ERRORLEVEL%
echo %exitcode%
Run Code Online (Sandbox Code Playgroud)
这里
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);
}
}
Run Code Online (Sandbox Code Playgroud)
编译此文件并生成类文件Example.class
批处理文件:
Example.bat
@echo off
java Example %1 %2
set exitcode=%ERRORLEVEL%
echo %exitcode%
Run Code Online (Sandbox Code Playgroud)
将此批处理文件和Example.class放在一个文件夹中.从该文件夹打开命令提示符并运行如下
Example 111 222
Run Code Online (Sandbox Code Playgroud)
这将打印这两个数字的添加
| 归档时间: |
|
| 查看次数: |
4658 次 |
| 最近记录: |