编写批处理命令来执行JAVA文件

时间:2022-09-02 23:44:08

http://baobeituping.iteye.com/blog/802543

1.

JAVA工程路径结构

Project

   ------lib

   ------src

   ------Webroot

           ----WEB-INF

                -----classes

 

两个文件:

   run.bat

   setenv.bat

 

run.bat:

@echo off
set path=.;C:\Program Files\Java\jdk1.6.0_02\bin--设置JAVA的路径
set cp=
for %%i in ("lib\*.jar") do call setenv.bat %%i --循环去加载工程下lib下的包
set classpath=%cp%;.;.\WebRoot\WEB-INF\classes;--设置classes,加载工程下的所有CLASSES

java client.Client--加载主程序文件

 
2.
XXX.bat
 
@echo off

java -Dlog.dir=f:/log/UserDistributionAnalysis -Dconf.env=test  -Xms384m -Xmx384m -Dfile.encoding=GBK -classpath .;../webroot/WEB-INF/lib/*;../webroot/WEB-INF/classes com.linktong.core.context.Daemon  daemon_tsinauserdeal.properties
 

建立一个内容为下面格式的bat文件即可了(具体内容需要依照你的情况修改):前两行是dos命令,用于进入你的class文件所在的文件夹(假设在c:\myjava\中)path 那行是jdk 的bin文件夹CLASSPATH那行是运行你的java class所需要的其他辅助的类的文件夹或者jar文件。xxx是你的java类的完整运行路径(如果在package中,需要加上package,如 java tool.MyTool,tool为package)c:cd c:\myjava\set path=c:\j2sdk1_4_2_08\bin;set CLASSPATH=.;C:\j2sdk1_4_2_08\lib\tools.jar;java xxx
 
 
3.如何编写一个批处理文件来执行它,test()中的参数由批处理文件中传入,且打印出它的两个参数。
Run.bat
 
@echo off
set CURRENT_DIR=%cd%  
F:
cd Test
javac Test.java
java Test %cd% 3

pause
 
cd里存储的就是当前的路径把这个run.bat放在project目录下,cd就获得了project的路径,上面%cd%意思只是同参数值3一样.
 
如果我当前目录路径存在空格时,比如C:\Documents and Settings\Administrator\桌面\Project,在dos下字符串之间存在空格则代表不同变量,因此会输出C:\Documentsand,如何过滤路径中的空格?
在Dos下如果包含空格的名称的话加上""就可以了