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. win7 64 VC++ ado方式连接access 连接字符串

    运行环境:win7 64       vc++6.0       office 2007  32位(access 2007) 我用的是ado方式连接access数据库,(现在的Win7系统中安装的一般 ...

  2. SQL Server 2008R2 附件数据库问题记录

    在Sql Server 2008 R2里附加数据库时弹出xxx.mdf拒绝访问的错误 详细错误信息如下: TITLE: Microsoft SQL Server Management Studio-- ...

  3. DELL PowerEdge R410系统日志满报错

    DELL PowerEdge R410系统日志满报错 重启服务器时在自检过程中看到CTRL+E时快速按下CTRL+E进入到远程管理ip地址配置界面

  4. 201621123023《Java程序设计》第2周学习总结

    一. 本周学习总结 引用类型变量存放指向对象的引用(类似于地址): == 与 equals 区别在于:==比较的是引用是否相等, 而equals则比较指向对象的内容是否相等: 因为String的不可变 ...

  5. KVM虚拟机的日常管理与配置

    1. 查看KVM虚拟机配置文件及运行状态(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录. (2) virsh命令帮 ...

  6. php对象在内存中存在形式

    1,php中基本数据类型存在于栈区,对象这种数据类型存在于堆区: 比如如下代码,两个指针指向同一个对象,其输出相同 <?php /** * Created by PhpStorm. * User ...

  7. mysqli扩展库应用---程序范例

    通过mysqli扩展库对用户表user1进行增删改查操作,用户表user1结构如下: 1,建立数据库操作类库mysqliTool.class.php,代码如下: <?php class mysq ...

  8. 利用Logstash plugins做更多的事情

    1. 引言 之前一篇文章<Logstash 介绍及linux下部署>,我们实现了logstash的安装以及简单的控制台标准输入输出测试,那么logstash能不能做更多的事情呢?答案是肯定 ...

  9. ajax 常用格式

    $.ajax({ url: "/", //请求路径 type: "post",//请求方式 data: "json", //发送请求的数据格 ...

  10. Scrapy 抓取股票行情

    安装scrapy会出现错误,我们选择anaconda3作为编译环境,搜索scrapy安装(有错误自查) 创建scrapy爬虫项目: 调出cmd,到相应目录:输入: scrapy startprojec ...