1+ @ echo off
2+
3+ rem set JAVA_HOME=D:\Programs\jdk-13
4+ rem set CLASSPATH=%JAVA_HOME%\lib;%JAVA_HOME%\lib\jrt-fs.jar;.
5+ rem set PATH=%PATH%;%JAVA_HOME%\bin
6+ set JAVA_HOME = D:\Program Files\Java\jdk-12.0.2
7+ set PATH = %PATH% ;%JAVA_HOME% \bin;
8+ set CLASSHOME = %JAVA_HOME% \lib;%JAVA_HOME% \jre\lib\jrt-fs.jar;.
9+
10+ set base_dir = pic\
11+ set pkg_name = mypkg
12+
13+ goto :bat_start
14+
15+ :set_all_class
16+ setlocal ENABLEDELAYEDEXPANSION
17+ set objs1 =
18+ for /f %%i in ('dir /s /b " %base_dir% \*.java" ') do (
19+ set src_file = %%i
20+ set obj_file = !src_file:~0 ,-4 ! class
21+ set objs1 = !objs1! !obj_file!
22+ )
23+ echo objs : %objs1%
24+ endlocal & set " %~1 = %objs1% "
25+ goto :eof
26+
27+ :set_all_java
28+ setlocal ENABLEDELAYEDEXPANSION
29+ set srcs1 =
30+ set srcs2 =
31+ for /f %%i in ('dir /s /b " %base_dir% \*.java" ') do (
32+ set src = %%i
33+ set srcs1 = %srcs1% %src%
34+ set srcs2 = !srcs2! !src!
35+ )
36+ echo srcs1 : %srcs1%
37+ echo srcs2 : !srcs2!
38+ endlocal & set " %~1 = %srcs2% "
39+ goto :eof
40+
41+ :move_class
42+ set src_file = %1
43+ if not exist %pkg_name% ( mkdir %pkg_name% )
44+ setlocal ENABLEDELAYEDEXPANSION
45+ set obj_file = !src_file:~0 ,-4 ! class
46+ if exist !obj_file! (
47+ move !obj_file! %pkg_name%
48+ )
49+ endlocal
50+ goto :eof
51+
52+ :compile_
53+ set src_file = %*
54+ echo src_file : %src_file%
55+ javac -encoding utf-8 -d . %src_file%
56+ goto :eof
57+
58+ :compile_java
59+ set srcs = %*
60+ for %%i in (%srcs% ) do (
61+ call :compile_ %%i
62+ if not %errorlevel% == 0 (
63+ echo javac -encoding utf-8 %%i fail.................................
64+ goto :eof
65+ ) else (
66+ call :move_class %%i
67+ )
68+ )
69+ goto :eof
70+
71+ :execute_java
72+ set srcs = %*
73+ setlocal ENABLEDELAYEDEXPANSION
74+ for %%i in (%srcs% ) do (
75+ set src_file = %%i
76+ echo src_file: !src_file!
77+ set obj_name = !src_file:~0 ,-5 !
78+ set obj_ = !obj_name:%cd% \ %base_dir% =!
79+ set pkg_ = !obj_:\ =. !
80+ java %pkg_name% .!pkg_!
81+ if not %errorlevel% == 0 (
82+ echo java %pkg_name% .!pkg_! fail.................................
83+ goto :eof
84+ )
85+ )
86+ endlocal
87+ goto :eof
88+
89+ :bat_file
90+ @ rem del mypkg\*.class
91+ call :set_all_java m_srcs
92+ echo m_srcs %m_srcs%
93+ call :set_all_class m_objs
94+ echo m_objs %m_objs%
95+ goto :eof
96+
97+ :color_text
98+ setlocal EnableDelayedExpansion
99+ for /F " tokens=1,2 delims=#" %%a in ('" prompt #$H#$E# & echo on & for %%b in (1) do rem" ') do (
100+ set " DEL = %%a "
101+ )
102+ echo off
103+ < nul set /p " . = %DEL% " > " %~2 "
104+ findstr /v /a:%1 /R " ^$" " %~2 " nul
105+ del " %~2 " > nul 2 >& 1
106+ endlocal
107+ echo .
108+ goto :eof
109+
110+ :bat_start
111+ call :color_text 4e " +++++++++++++++start+++++++++++++"
112+ call :bat_file
113+
114+ call :color_text 19 " +++++++++++++++compile srcs+++++++++++++"
115+ call :compile_java %m_srcs%
116+
117+ call :color_text 2F " ---------------execute srcs-------------"
118+ call :execute_java %m_srcs%
119+
120+ :bat_end
121+ pause
0 commit comments