高分求解

ilovefzq 2012-03-02 11:39:47
如下的批处理文件的内容,请问是什么意思,可否介绍一下,我想读懂他应该看哪些书籍,谢谢
@echo off & setlocal EnableDelayedExpansion

%JAVA_HOME%/bin/jar -uvf main.jar log4j.properties
%JAVA_HOME%/bin/jar -uvf main.jar Spring.xml

cp=%JAVA_HOME%/lib/tools.jar:%JAVA_HOME%/lib/dt.jar
for %%A in (lib\*.*) do (
set cp=!cp!;%%A
)

set cp=!cp!;main.jar
echo %cp%

CLASSPATH=%cp%
$JAVA_HOME/bin/java -DDataSynchronizer -Xms2G -Xmx3G -classpath $cp domain.console.AppMain -mode jdbc






...全文
81 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2012-03-02
  • 打赏
  • 举报
回复
@echo off 就是脚本的命令行不输出到控制台
& 表示两个命令连接,前者成功则执行后者
setlocal 设置当前脚本执行环境
EnableDelayedExpansion 设置环境变量滞后展开有效
%JAVA_HOME%/bin/jar 表示调用%JAVA_HOME%环境变量的/bin下的jar.exe
-uvf main.jar log4j.properties 表示 jar.exe 的参数
cp=%JAVA_HOME%/lib/tools.jar:%JAVA_HOME%/lib/dt.jar 表示设置环境cp为=后面的内容

for %%A in (lib\*.*) do (
set cp=!cp!;%%A
)
表示for循环遍历当前路径的lib下的*.*文件,然后把每个文件的路径追加到cp环境变量中
set cp=!cp!;main.jar 把main.jar路径追加到cp环境变量中
echo %cp% 在控制台显示cp环境变量的内容
CLASSPATH=%cp% 设置CLASSPATH环境变量为cp环境变量的内容
$JAVA_HOME/bin/java 调用%JAVA_HOME%环境变量的bin下的java.exe 这里使用$xxx,是shell脚本的语句,dos脚本是%xxx%,应该是移植时遗漏了吧
-DDataSynchronizer -Xms2G -Xmx3G -classpath $cp domain.console.AppMain -mode jdbc java.exe的参数

LZ想了解更多,可以在网上搜索以下dos命令祥解,或者自己 调用 help xxx 来查看 xxx dos命令









MiceRice 2012-03-02
  • 打赏
  • 举报
回复
jar.exe的命令行介绍(打包用的):%JAVA_HOME%/bin/jar -uvf main.jar log4j.properties

java.exe的命令行介绍(运行Java程序用的):$JAVA_HOME/bin/java -DDataSynchronizer -Xms2G -Xmx3G -classpath $cp domain.console.AppMain -mode jdbc

操作系统的批处理执行介绍:for %%A in (lib\*.*) do 以及 set 以及 echo 等

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧