楼 主
[求助]批处理javac的编译和用java查看生成.class功能程序!
发表于 2008-04-15 19:26 · 中国 天津 联通
初级用户
★
积分 29
发帖 15
注册 2008-04-14 19:20
UID 115892
性别 男
状态 离线
经常会使用javac 编译写好的java代码
但是经常要改变目录然后要 e:\java>javac [文件名].java 编译
然后 e:\java>java [文件名] 运行查看结果!
如果正确还好,错误了进了死循环还要关了重新cmd重新进入
想用批处理自动判断指定文件夹下 *.java 的文件名然后用javac运行那个文件
(使用简单的 javac *.java 不成功!)
javac 的用处是生成 [文件名].class文件
再就是怎样继续用判断出来的文件名运行 java [文件名].class
(.class 可省略运行)
希望有高手帮个忙!简化偶们调试时浪费的时间!
第 2 楼
发表于 2008-04-15 19:33 · 中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
UID 99089
性别 男
状态 离线
CLASS环境变量没设置好
set class=.
第 3 楼
发表于 2008-04-15 19:45 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
@echo off
for /f "tokens=*" %%i in ('dir /a/s/b D:\*.javac') do (
start "" "%%i" "%%dpni.java"
java.exe "%%dpni.class"
)
pause
未测试
第 4 楼
发表于 2008-04-15 19:50 · 中国 天津 联通
初级用户
★
积分 29
发帖 15
注册 2008-04-14 19:20
UID 115892
性别 男
状态 离线
其实主要是对 .java 的编译!
javac 命令不支持 *.java 这个通配符!而且还要区分大小写(java程序区分大小写)
.class 那个应该没什么
主要就想就设置一次目录(文件目录固定)
为的是识别[文件名] 并交给 javac [文件名].java 去执行
第 5 楼
发表于 2008-04-15 20:03 · 中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
UID 99089
性别 男
状态 离线
有一点我不明白,JAVAC 只能执行后缀为.java的文件,如果错误,会出现死循环??
第 6 楼
发表于 2008-04-15 20:08 · 中国 天津 联通
初级用户
★
积分 29
发帖 15
注册 2008-04-14 19:20
UID 115892
性别 男
状态 离线
谢谢!
可是貌似没有能完全通过!
遍历文件做到了,但是程序是用记事本打开的!
应该用 javac.exe 编译 [文件名].java程序 如(D:\>javac [文件名].java)
但是我没能看懂全部的for命令
再有就是 dpni 这个不明白是什么 cmd 提示说是无效标识!
第 7 楼
发表于 2008-04-15 20:16 · 中国 天津 联通
初级用户
★
积分 29
发帖 15
注册 2008-04-14 19:20
UID 115892
性别 男
状态 离线
不是那个意思!我也是刚接触 java 所以程序不是把握的太好
我的意思是说调试的时候 java 没有写好可能会有死循环是例如
int a = 10;
int i = 0;
while(a = i)
{
System.out.println(".");
}
有时候忘记了{}里面添加自加 i++ 或者前面条件写错了不能跳出循环,只能关闭cmd
第 8 楼
发表于 2008-04-15 20:30 · 中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
UID 99089
性别 男
状态 离线
第 9 楼
发表于 2008-04-15 20:49 · 中国 天津 联通
初级用户
★
积分 29
发帖 15
注册 2008-04-14 19:20
UID 115892
性别 男
状态 离线
哎。。。这都被你发现了!
好像是
while(a == i)
没办法经常犯这种小错!
所以才想弄个批处理 能节约很多时间!
e:
cd java
javac Abc.java
@pause
java Abc
@pause
就好像上面这个!每次都要修改文件名称 所以觉得费劲!
论坛跳转: