start.bat

set MY_HOME=%~dp0 
set JMS_BINDING_PATH=%MY_HOME%..\binds
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_08\

set path=%path%;%JAVA_HOME%bin;
set CLASSPATH=.;%JAVA_HOME%lib\tools.jar;%JAVA_HOME%lib\dt.jar;%MY_HOME%..\bomc-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%\bin\java -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 Files\MyEclipse 6.5\jre\bin"

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 .\bin\res
echo 创建资源文件夹
mkdir .\bin\res
echo 复制资源文件
copy /y src\res\ bin\res
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:\qq\a.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

bat执行java程序 good的更多相关文章

  1. bat执行java程序的脚本解析

    使用java执行带Package的class文件java package1.package2.className  或java -cp .  package1.package2.className - ...

  2. windows计划任务启动bat执行java文件

    系统:win7 环境:需要配置好jdk的环境变量 需求:每次开机,用bat批处理执行将一个位于D:\workspace\console目录底下的console.txt重命名的java文件 拿到需求,我 ...

  3. 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序

    如何用javac 和java 编译运行整个Java工程 (转载)  http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...

  4. JVM执行Java程序时内存的划分

    Java虚拟机在执行Java程序过程中会把它所管理的内存区域划分为若干个不同的数据区域. Java虚拟机所管理的内存包括以下几个运行时区域: 1.程序计数器(Program Couter Regist ...

  5. CentOS下crontab执行java程序

    阿里云CentOS收不到邮件 在crontab里配置执行脚本,脚本用来执行java程序,死活不执行.单独执行脚本可以运行. 查看crontab的日志文件,/var/log/cron,发现没有收到cro ...

  6. sh脚本执行Java程序

    1.不引用Jar包或者资源文件夹 最简单的程序Hello World. 首先创建Hello.java public class Hello { public static void main(Stri ...

  7. Linux中crontab无法执行java程序的问题

    Linux中crontab无法执行java程序的问题 jdk环境变量配置问题:可以用全路径来解决: 竟然是kill -9之后,后面的脚本都不运行,这个还没有找到原因啊: 即便是系统级别的 ls 命令, ...

  8. crontab中执行java程序的脚本

    测试场景说明(操作系统:centos7): 有一个bash脚本,脚本内容是执行某个java程序,该脚本为 /data/project1/start.sh crontab -e,添加了以下任务: * * ...

  9. 在命令符模式下编译并执行Java程序

    对于Java初学者,建议使用纯文本文件来编写Java程序,并在命令符模式下使用工具程序编译和执行Java程序.使用javac工具编译.java,使用java工具执行.class.(推荐sublime编 ...

随机推荐

  1. kali 下 apache 配置文件

    默认的可执行文件 /usr/sbin/apache2 root@ty:/etc/init.d# netstat -anp |grep apache tcp6 ::: :::* LISTEN /apac ...

  2. 结构(struct)

    结构是程序员定义的数据类型,非常类似于类.都包含数据成员和函数成员. 区别:1.类是引用类型,而结构是值类型 2.结构是隐式密封的,也就是结构不能被派生. 结构类型和所有值类型一样,含有自己的数据.需 ...

  3. BZOJ 1562 [NOI2009] 变换序列

    [NOI2009] 变换序列 [题解] 就是有一个序列,每个位置可以填两个数,不可重复,问最小字典序. 显然,可以建一个二分图,判合法就是找完美匹配. 那怎么弄最小字典序呢?有好多种解法,我这里给出了 ...

  4. Bitnami WordPress如何让默认URL指向WordPress目录?

    Bitnami WordPress下载地址:https://bitnami.com/stack/wordpress/installer ,根据自己操作系统选择对应版本,我是windows server ...

  5. python 特性:height-->while

    """ 出题:height 女生找对象 男生在1米-1.5米之间 小强你在哪里? 男生在1.5-1.7米之间 没有安全感 男生在1.7 - 1.8米之间 帅哥 留个电话 ...

  6. js验证汉字正则表达式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 洛谷P4705 玩游戏(生成函数+多项式运算)

    题面 传送门 题解 妈呀这辣鸡题目调了我整整三天--最后发现竟然是因为分治\(NTT\)之后的多项式长度不是\(2\)的幂导致把多项式的值存下来的时候发生了一些玄学错误--玄学到了我\(WA\)的点全 ...

  8. 四,Smarty模板技术/引擎-----内建函数

    内建函数是smarty提供的函数,不允许修改,只能被调用: 自定义函数是自己编写函数,注册成为smarty的函数,之后可以被调用. PHP的自建函数很多,讲解下<foreach>和< ...

  9. [ActionScript 3.0] 通过BitmapData将对象保存成jpg图片

    此方法需要用到JPGEncoder.as和BitString.as这两个类,是将BitmapData对象转换成ByteArray,然后通过FileStream把此ByteArray写入到文件保存成jp ...

  10. c语言数据结构学习心得——二叉树

    二叉树 n(n>=0)个结点的有限集合:(五种形态) 1.或者为空二叉树,n=0: 2.或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成.左子树和右子树又分别是一棵二叉树. 3.每个 ...