中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 01:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教关于tomcat 中用到的批处理命令 查看 859 回复 6
楼 主 请教关于tomcat 中用到的批处理命令 发表于 2009-05-30 11:16 ·  中国 山东 威海 联通
新手上路
积分 17
发帖 9
注册 2007-07-02 16:48
19年会员
UID 92951
性别 男
状态 离线
在service.bat中用到了参数%cd%,开始不解,后来猜测是当前路径,经过验证基本是这样的。但依然有一事不明。有命令set CATALINA_HOME=%cd%,然后有if exist "CATALINA_HOME\bin\tomcat.exe",这一句翻译过来应该是C:\apache-tomcat-6.0.18\bin\bin\tomcat6.exe(当前路径是C:\apache-tomcat-6.0.18\bin),但是tomcat6.exe的路径是C:\apache-tomcat-6.0.18\bin\tomcat6.exe,为什么还能检测成功呢??
并且将service.bat拷贝到C:\apache-tomcat-6.0.18\路径下执行也可以,但是在C:\apache-tomcat-6.0.18\bin\bin 下执行就不行了。
请高手指点
2 发表于 2009-05-30 13:22 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
CATALINA_HOME 不等于 %CATALINA_HOME%
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
youlong699 +1 2009-05-31 11:48
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2009-05-30 23:05 ·  中国 山东 威海 联通
新手上路
积分 17
发帖 9
注册 2007-07-02 16:48
19年会员
UID 92951
性别 男
状态 离线
能详细解释一下吗??谢谢
难道CATALINA_HOME\bin\tomcat.exe,这一句翻译过来不是
C:\apache-tomcat-6.0.18\bin\bin\tomcat6.exe?

为什么service.bat在上一级目录中执行也可以成功,这如何解释呢?
这时候同样是CATALINA_HOME\bin\tomcat.exe 应该对应的是
C:\apache-tomcat-6.0.18\bin\tomcat6.exe吧,为什么两个路径都可以呢?

[ Last edited by youlong699 on 2009-5-31 at 00:05 ]
4 发表于 2009-05-31 01:11 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
人家service.bat是这样写的:
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%cd%
if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome

你抄一遍就把百分号搞没了?
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
youlong699 +1 2009-05-31 11:48
5 发表于 2009-05-31 03:27 ·  中国 山东 威海 联通
新手上路
积分 17
发帖 9
注册 2007-07-02 16:48
19年会员
UID 92951
性别 男
状态 离线
四楼说的是,我一直将 %CATALINA_HOME%和 CATALINA_HOME视为一个东西,就把这个忽略啦
丢了关键一句:
cd ..
set CATALINA_HOME=%cd%
这就回到上一级目录啦!
再请教一下:
if not "%CATALINA_HOME%" == ""
这一句的 %CATALINA_HOME% 是不是引用的 CATALINA_HOME 的值呢?二楼讲这两个不是一回事?
没学过完整的bat语法,推测加验证,请勿见笑!还望指教

[ Last edited by youlong699 on 2009-5-31 at 03:29 ]
6 Re 5楼 发表于 2009-05-31 10:55 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
if not "%CATALINA_HOME%" == ""
是为了判断你以前有没有定义过CATALINA_HOME这个环境变量
建议学习完整的bat语法
7 发表于 2009-05-31 11:47 ·  中国 山东 威海 联通
新手上路
积分 17
发帖 9
注册 2007-07-02 16:48
19年会员
UID 92951
性别 男
状态 离线
是的,这一句倒是看明白了,谢谢!不是专门的研究windows平台,有时候分析一下脚本只是为了理解其运作原理,呵呵!有机会再研究研究完整的语法
论坛跳转: