标题: [求助]批处理javac的编译和用java查看生成.class功能程序!
[打印本页]
作者: happysoul
时间: 2008-4-15 19:26
标题: [求助]批处理javac的编译和用java查看生成.class功能程序!
经常会使用javac 编译写好的java代码
但是经常要改变目录然后要 e:\java>javac [文件名].java 编译
然后 e:\java>java [文件名] 运行查看结果!
如果正确还好,错误了进了死循环还要关了重新cmd重新进入
想用批处理自动判断指定文件夹下 *.java 的文件名然后用javac运行那个文件
(使用简单的 javac *.java 不成功!)
javac 的用处是生成 [文件名].class文件
再就是怎样继续用判断出来的文件名运行 java [文件名].class
(.class 可省略运行)
希望有高手帮个忙!简化偶们调试时浪费的时间!
作者: huahua0919
时间: 2008-4-15 19:33
CLASS环境变量没设置好
set class=.
作者: fastslz
时间: 2008-4-15 19:45
@echo off
for /f "tokens=*" %%i in ('dir /a/s/b D:\*.javac') do (
start "" "%%i" "%%dpni.java"
java.exe "%%dpni.class"
)
pause
未测试
作者: happysoul
时间: 2008-4-15 19:50
其实主要是对 .java 的编译!
javac 命令不支持 *.java 这个通配符!而且还要区分大小写(java程序区分大小写)
.class 那个应该没什么
主要就想就设置一次目录(文件目录固定)
为的是识别[文件名] 并交给 javac [文件名].java 去执行
作者: huahua0919
时间: 2008-4-15 20:03
有一点我不明白,JAVAC 只能执行后缀为.java的文件,如果错误,会出现死循环??
作者: happysoul
时间: 2008-4-15 20:08
谢谢!
可是貌似没有能完全通过!
遍历文件做到了,但是程序是用记事本打开的!
应该用 javac.exe 编译 [文件名].java程序 如(D:\>javac [文件名].java)
但是我没能看懂全部的for命令
再有就是 dpni 这个不明白是什么 cmd 提示说是无效标识!
作者: happysoul
时间: 2008-4-15 20:16
不是那个意思!我也是刚接触 java 所以程序不是把握的太好
我的意思是说调试的时候 java 没有写好可能会有死循环是例如
int a = 10;
int i = 0;
while(a = i)
{
System.out.println(".");
}
有时候忘记了{}里面添加自加 i++ 或者前面条件写错了不能跳出循环,只能关闭cmd
作者: huahua0919
时间: 2008-4-15 20:30
呵呵
while(a = i)
上面这句错了
作者: happysoul
时间: 2008-4-15 20:49
哎。。。这都被你发现了!
好像是
while(a == i)
没办法经常犯这种小错!
所以才想弄个批处理 能节约很多时间!
e:
cd java
javac Abc.java
@pause
java Abc
@pause
就好像上面这个!每次都要修改文件名称 所以觉得费劲!