中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 00:28
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教关于tomcat 中用到的批处理命令
可打印版本  857 / 6
第1楼 youlong699 发表于 2009-05-30 11:16
新手上路 发帖 9 积分 17
请教关于tomcat 中用到的批处理命令
在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楼 slore 发表于 2009-05-30 13:22
铂金会员 发帖 2,478 积分 5,212
CATALINA_HOME 不等于 %CATALINA_HOME%
第3楼 youlong699 发表于 2009-05-30 23:05
新手上路 发帖 9 积分 17
能详细解释一下吗??谢谢
难道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楼 HAT 发表于 2009-05-31 01:11
版主 发帖 5,017 积分 9,023
人家service.bat是这样写的:

你抄一遍就把百分号搞没了?
第5楼 youlong699 发表于 2009-05-31 03:27
新手上路 发帖 9 积分 17
四楼说的是,我一直将 %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楼 HAT 发表于 2009-05-31 10:55
版主 发帖 5,017 积分 9,023
Re 5楼
if not "%CATALINA_HOME%" == ""
是为了判断你以前有没有定义过CATALINA_HOME这个环境变量
建议学习完整的bat语法
第7楼 youlong699 发表于 2009-05-31 11:47
新手上路 发帖 9 积分 17
是的,这一句倒是看明白了,谢谢!不是专门的研究windows平台,有时候分析一下脚本只是为了理解其运作原理,呵呵!有机会再研究研究完整的语法
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023