I heard that java code cannot be to add into batch file in a comment on my previous question:
But is there any alternatives to it?
Is it possible to add java cod
Here how you can add java code to batch file (though it's not exactly complete solution for your problem):
@Deprecated /* >nul 2>&1
:: self compiled java/.bat hybrid
::
:: deprecated is the only one annotation that can be used outside the class definition
:: and is needed for 'mute' start of multi-line java comment
:: that will be not printed by the batch file.
:: though it still created two files - the .class and the .java
:: it still allows you to embed both batch and java code into one file
@echo off
setlocal
java -version >nul 2>&1 || (
echo java not found
exit /b 1
)
::find class name
for /f "usebackq tokens=3 delims=} " %%c in (`type %~f0 ^|find /i "public class"^|findstr /v "for /f"`) do (
set "javaFile=%%c"
goto :skip
)
:skip
copy "%~f0" "%javaFile%.java" >nul 2>&1
javac "%javaFile%.java"
java "%javaFile%"
::optional
::del %javaFile%.* >nul 2>&1
end local
exit /b 0
*******/
public class TestClass
{
public static void main(String args[])
{
System.out.println("selfcompiled .bat/.java hybrid");
}
}
Deprecated annotation is the only one I've found that can be set outside the class.And annotation is needed to avoid toxic output.It also creates two temporary files (.class and .java) which you can delete.