此脚本适合刚接触java的同学,在cmd界面下用jc取代 复杂的  javac *.java + java main使用说明:
把脚本内容复制到txt文本中,修改后缀名为.bat,运行一次即可完成配置,以后在cmd界面下输入 jc 即可完成编译+执行
功能:1.将当前目录下的java文件编译并执行
如遇多个主函数的java文件是,会提示并选择执行
bat代码如下,

  1. @echo off
  2. if not exist %SystemRoot%\system32\choice.exe echo 抱歉,系统缺少程序运行必须组件,无法继续&pause>nul&exit /b 1
  3. if not exist %SystemRoot%\jc.bat copy %0 %SystemRoot%\jc.bat 1>nul 2>nul & echo 配置成功,使用方法 jc &pause>nul&exit /b 0
  4. rem 制作时间2015年10月23日 xin3283@qq.com
  5. rem 用途:将当前目录下的java文件编译并执行
  6. set jclog=%temp%\javac.log
  7. if exist %jclog% 1 0>%jclog% 2>nul
  8. javac *.java 2>%jclog%
  9. (for /f "skip=6 tokens=2 delims=个文件 " %%i in ('dir  /-c %jclog%') do @echo %%i|findstr /v "目录") >%temp%\jcSize.txt
  10. set /p size=<%temp%\jcSize.txt
  11. if not "%size%"=="0" (
  12. type %jclog%
  13. exit /b 1
  14. )
  15. setlocal enabledelayedexpansion
  16. set /a MainSum=1
  17. for %%a in (*.java) do (
  18. type %%a|findstr /i "main" && ( set main!MainSum!=%%a & set /a MainSum=MainSum+1)
  19. )>nul
  20. set /a MainSum=MainSum-1
  21. for /l %%a in (1,1,%MainSum%) do (
  22. set main%%a=!main%%a:~0,-6!
  23. )
  24. if "%MainSum%"=="0" (
  25. echo 错误: 找不到或无法加载主类,请检查Main函数
  26. exit /b 2
  27. ) else if "%MainSum%"=="1" (
  28. java %main1%
  29. exit /b 0
  30. )
  31. echo 存在以下主函数,选择
  32. for /l %%i in (1,1,%MainSum%) do echo %%i:!main%%i!.java
  33. choice /c 123456789 /n
  34. java !main%errorlevel%!
  35. exit /b 0

AJPFX编写cmd界面下一键编译、执行java代码的bat脚本的更多相关文章

  1. 页面上动态编译及执行java代码

    本文地址:http://www.cnblogs.com/liaoyu/p/real-time-compile-and-run-java-code-web-app.html 最近看到同事在页面上编译和执 ...

  2. bat脚本:Java一键编译(Javac java)

    bat脚本:Java一键编译(Javac java) D:    是指D盘 javat是要编译的.java文件所在的文件夹 也就是D:\javat bat代码: :start COLOR 0A cls ...

  3. 在执行java代码时,设置了断点,然后莫名的没执行完方法内的代码就结束了,此刻一般在出错处代码用try,catch包括起来

    在执行java代码时,设置了断点,然后莫名的没执行完方法内的代码就结束了,此刻一般在出错处代码用try,catch包括起来就能看到是什么异常了,记住try,catch语句的作用

  4. TeamCity编译执行selenium上传窗口脚本缺陷

    2015-07-04 18:05 编写本文 TeamCity编译selenium脚本,对于上传窗口处理只支持sendKeys的使用,不支持模拟人为按下Enter键和使用autoIt等操作,即使本地调试 ...

  5. MAC 系统下使用 Sublime Text 2 直接编译运行 java 代码

    本文参考了网上很多文章,就不一一列出了. sublime的版本是 sublime test 2 jdk版本 jdk1.7 1. mac下貌似直接就可以运行javac 和 java命令的,如果不能直接运 ...

  6. JAVA_HOME path classpath 以及cmd编译运行java代码

    JAVA_HOME PATH CLASSPATH 三者的区别:安装完jdk之后,首先在环境变量里面添加JAVA_HOME ,例如安装路径为C:\Program Files\Java\jdk1.6.0_ ...

  7. 命令行编译执行java

    命令行编译运行java程序 使用命令 javac进行编译 和 java进行执行. javac 后面跟着的是java文件的文件名,例如 HelloWorld.java. 该命令用于将 java 源文件编 ...

  8. [Unity] 编辑器运行中动态编译执行C#代码

    (一)问题 之前写Lua时,修改完代码 reload 就可以热重载代码,调试起来十分方便(重构则十分痛苦). 现在使用 C# 做开发,目前还没找到比较方便地进行热重载的方式.只能退而求其次,在调试上找 ...

  9. Android平台下使用lua调用Java代码经验总结

    动态语言以其执行的灵活性,可配置性.方便调试能够为开发带来极大的方便.假设用好了.能够极大的提高开发的效率. 怪不得像游戏开发这样复杂的软件开发里没有不集成脚本语言的. 当中,lua以其小巧,灵活.方 ...

随机推荐

  1. 全局最小割模版 n^3

    //点标从0-n-1, 開始时先init 复杂度n^3 //对于边(u,v,flow): //g[u][v]+=flow; //g[v][u]+=flow; typedef long long ll; ...

  2. 如何更有效的消灭watchdogs挖矿病毒?华为云DCS Redis为您支招

    漏洞概述 近日,互联网出现watchdogs挖矿病毒,攻击者可以利用Redis未授权访问漏洞入侵服务器,通过内外网扫描感染更多机器.被感染的主机出现 crontab 任务异常.系统文件被删除.CPU ...

  3. UML之实现图

    我们前面学过的用例图.类图.活动图.顺序图和协作图都描写叙述了逻辑和设计方面的信息.那么如今我们来学习和实现有关的两个图:构件图和部署图. 实现图用来描写叙述实现方面的信息,它从系统的层次来描写叙述下 ...

  4. Django框架之ORM

    1,字段和字段的参数 1.1>ORM的概念:对象映射模型(Objects Relational Model)是一种为了解决面向对象和关系型数据库存在的互不匹配的现象和技术,简单的说,ORM是通过 ...

  5. Error 99 connecting to 192.168.3.212:6379. Cannot assign requested address

    Error 99 connecting to 192.168.3.212:6379. Cannot assign requested address Redis - corelation betwee ...

  6. tcp state

    [root@hadoop1 log]# netstatActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Addres ...

  7. spring boot实现文件上传下载

    spring boot 引入”约定大于配置“的概念,实现自动配置,节约了开发人员的开发成本,并且凭借其微服务架构的方式和较少的配置,一出来就占据大片开发人员的芳心.大部分的配置从开发人员可见变成了相对 ...

  8. ASP.NET Web Pages (Razor) API Quick Reference

    ASP.NET Web Pages (Razor) API Quick Reference By Tom FitzMacken|February 10, 2014 Print This page co ...

  9. beego07----web博客

    conf/app.conf appname = blog1 httpport = 8080 runmode = dev name=admin pwd=admin controllersmy/attac ...

  10. bash编程 将一个目录里所有文件存为一个array 并分割为三等分——利用bash array切片

    files=(a b c d e f g h i j k l m n o p)cnt="${#files[@]}"let cnt1="($cnt+2)/3"le ...