zoukankan      html  css  js  c++  java
  • bat执行java程序 good

    start.bat

    set MY_HOME=%~dp0 
    set JMS_BINDING_PATH=%MY_HOME%..inds
    set JAVA_HOME=C:Program FilesJavajdk1.5.0_08

    set path=%path%;%JAVA_HOME%bin;
    set CLASSPATH=.;%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar;%MY_HOME%..omc-sa-tdagent.jar;%MY_HOME%..commonlib*; 
    java -Xms128M -Xmx512M  -Dprogram.name=bomc-sa-tdtpagent -Dfile.encoding=GBK -Duser.timezone=GMT+8 -jar ../test.jar agent>td.log

    set CP=./;lib/ant.jar;lib/commons-logging-1.0.4.jar  
    %JAVA_HOME%injava -Xms128m -Xmx256m -Dfile.encoding=GB18030 -classpath %CP% com.xxx.xxxx.HelloWorld [args]
    pause

    CP中是程序需要的jar包 [args]是main函数需要的参数

    set MY_HOME=%~dp0
    set CLASSPATH=%MY_HOME%xxx.jar;%MY_HOME%..lib*;
    set PATH="D:Program FilesMyEclipse 6.5jrein"
    set JAVA_OPTS=-Xms128m -Xmx256m
    java %JAVA_OPTS% com.java.Test


    http://huangzhir.iteye.com/blog/1883209


    compileAndRun.bat:

    @echo off
    cd /d %~dp0
    echo 当前路径:%cd%
    echo 编译中
    javac -encoding utf-8 -d ./bin/ ./src/org/ubird/*.java
    echo 清理资源文件
    rmdir /S /Q .inres
    echo 创建资源文件夹
    mkdir .inres
    echo 复制资源文件
    copy /y src
    es binres
    echo 切换执行路径:
    cd bin
    echo %cd%
    echo 开始运行
    java org.ubird.TestSwingWorker
    pause

    补充(DOS相关):

    a.bat内容为
    cd /d %~dp0
    在这里
        cd /d %~dp0的意思就是cd /d d:qq
        %0代表批处理本身 d:qqa.bat
        ~dp是变量扩充
        d既是扩充到分区号 d:
        p就是扩充到路径 qq
        dp就是扩充到分区号路径 d:qq
    扩充变量语法详解:
        :: ~I - 删除任何引号("),扩充 %I
        :: %~fI - 将 %I 扩充到一个完全合格的路径名
        :: %~dI - 仅将 %I 扩充到一个驱动器号
        :: %~pI - 仅将 %I 扩充到一个路径
        :: %~nI - 仅将 %I 扩充到一个文件名
        :: %~xI - 仅将 %I 扩充到一个文件扩展名
        :: %~sI - 扩充的路径只含有短名
        :: %~aI - 将 %I 扩充到文件的文件属性
        :: %~tI - 将 %I 扩充到文件的日期/时间
        :: %~zI - 将 %I 扩充到文件的大小
        :: %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串
        :: 可以组合修饰符来得到多重结果:
        :: %~dpI - 仅将 %I 扩充到一个驱动器号和路径
        :: %~nxI - 仅将 %I 扩充到一个文件名和扩展名
        :: %~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
        :: %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
        :: 到找到的第一个驱动器号和路径。
        :: %~ftzaI - 将 %I 扩充到类似输出线路的 DIR

    %~dp0 VS %cd%
        %cd% is available either to a batch file or at the command prompt and expands to the drive letter and path of the current directory (which can change e.g. by using the CD command)
        %~dp0 is only available within a batch file and expands to the drive letter and path in which that batch file is located (which cannot change). It is obtained from %0 which is the batch file's name.

    使用范围:
    %cd%:批处理脚本(bat脚本)、命令行窗口
    %~dp0:批处理脚本(bat脚本)

    代表的值是否会变化:
    %cd%:会。因为代表的是当前目录
    %~dp0:不会。因为代表的是脚本文件在磁盘的位置


    An experiment like the following shows the difference
    Here is D:dirshow.bat:
    Code:
    @echo off
    echo this is %%cd%%  %cd%
    echo this is %%~dp0 %~dp0
    Run it from C: and this is what you see
    Code:
    C:>D:dirshow.bat
    this is %cd%  C:
    this is %~dp0 D:

    http://www.cnblogs.com/dongzhiquan/archive/2010/09/12/1994555.html

    在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。

        这两个变量的用法和代表的内容是不同的。

        1. %cd% 可以用在批处理文件中,也可以用在命令行中;

    执行结果:

    驱动器盘符:+当前目录,

    如在dos窗口中进入c:dir目录下面,输入:echo %cd% ,

    则显示为:c:dir 。

       %cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。

        2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,

    是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,

    它展开后的内容是不可以改变的。

    bat文件内容:

    @echo off     
    echo this is %%cd%%  %cd%     
    echo this is %%~dp0 %~dp0   





  • 相关阅读:
    并查集基础练习
    HDU1232——畅通工程
    二分答案——划分数列
    二分答案——收入计划
    动态规划练习题(2)
    动态规划程序设计2
    动态规划练习题(1)
    0/1背包
    P5024 保卫王国[倍增+dp]
    UVA11424 GCD
  • 原文地址:https://www.cnblogs.com/softidea/p/3380525.html
Copyright © 2011-2022 走看看