将shell脚本转换为.bat文件以便在Windows上运行

时间:2015-04-15 12:56:23

标签: java shell batch-file

我在.sh文件中有这个脚本。 如何将其转换为.bat文件?

if ! "$JAVA_CMD" -cp "$CP" "$MAIN_CLASS" "$@" 2>/dev/null; then
        echo "error: main class is not found."
        exit 1
fi  

1 个答案:

答案 0 :(得分:2)

这大致相当,但任何非零返回值都会回显相同的文本。

@echo off
set CP="c:\mydir\MyClass.jar"
set MAIN_CLASS="MyClass"

java -cp %CP% %MAIN_CLASS% %* 2>NUL
IF %ERRORLEVEL% NEQ 0 ECHO "error: main class is not found." 

您可以将错误输出回显给临时文件,然后只需在非零返回上键入文件以显示真正的错误:

@echo off
set CP="c:\mydir\MyClass.jar"
set MAIN_CLASS="MyClass"
set tempError=%temp%\javaRunError.txt

java -cp %CP% %MAIN_CLASS% %* 2>%tempError%
IF %ERRORLEVEL% NEQ 0 type %tempError%

如果你想获得幻想,可以设置一个goto并将退出(errorlevel)传递给调用者。

@echo off
set CP="c:\mydir\MyClass.jar"
set MAIN_CLASS="MyClass"
set tempError=%temp%\javaRunError.txt

java -cp %CP% %MAIN_CLASS% %* 2>%tempError%
IF %ERRORLEVEL% NEQ 0 goto badExit

:: Good-Bye!
:end
echo.
echo.
echo %time% %0 Completed Successfully!
exit /b

:badExit
echo.
echo.
echo %time% Failure Occurred in %0...
type %tempError%
exit /b 1