黑马程序员技术交流社区
标题:
【原创】cmd界面下一键编译、执行java代码的bat脚本
[打印本页]
作者:
yuxiangxin
时间:
2015-11-15 16:19
标题:
【原创】cmd界面下一键编译、执行java代码的bat脚本
此脚本适合刚接触java的同学,在cmd界面下用jc取代 复杂的 javac *.java + java main使用说明:
把脚本内容复制到txt文本中,修改后缀名为.bat,运行一次即可完成配置,以后在cmd界面下输入 jc 即可完成编译+执行
功能:1.将当前目录下的java文件编译并执行
如遇多个主函数的java文件是,会提示并选择执行
bat代码如下,
@echo off
if not exist %SystemRoot%\system32\choice.exe echo 抱歉,系统缺少程序运行必须组件,无法继续&pause>nul&exit /b 1
if not exist %SystemRoot%\jc.bat copy %0 %SystemRoot%\jc.bat 1>nul 2>nul & echo 配置成功,使用方法 jc &pause>nul&exit /b 0
rem 制作时间2015年10月23日 xin3283@qq.com
rem 用途:将当前目录下的java文件编译并执行
set jclog=%temp%\javac.log
if exist %jclog% 1 0>%jclog% 2>nul
javac *.java 2>%jclog%
(for /f "skip=6 tokens=2 delims=个文件 " %%i in ('dir /-c %jclog%') do @echo %%i|findstr /v "目录") >%temp%\jcSize.txt
set /p size=<%temp%\jcSize.txt
if not "%size%"=="0" (
type %jclog%
exit /b 1
)
setlocal enabledelayedexpansion
set /a MainSum=1
for %%a in (*.java) do (
type %%a|findstr /i "main" && ( set main!MainSum!=%%a & set /a MainSum=MainSum+1)
)>nul
set /a MainSum=MainSum-1
for /l %%a in (1,1,%MainSum%) do (
set main%%a=!main%%a:~0,-6!
)
if "%MainSum%"=="0" (
echo 错误: 找不到或无法加载主类,请检查Main函数
exit /b 2
) else if "%MainSum%"=="1" (
java %main1%
exit /b 0
)
echo 存在以下主函数,选择
for /l %%i in (1,1,%MainSum%) do echo %%i:!main%%i!.java
choice /c 123456789 /n
java !main%errorlevel%!
exit /b 0
复制代码
作者:
赵存金
时间:
2015-11-15 16:37
太高深。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2