批处理 判断命令是否可运行

pzmyangkong 2009-11-25 06:57:52
在某台计算机上用test.bat批处理执行test.jar文件,但不知道用户是否已经设置了JDK的环境变量,test.bat在执行



@echo off
set file=test.jar
if "%1"=="" (
set /p JAVA_HOME=请输入JDK的路径:
)else (
set JAVA_HOME=%1
)
set classpath=%JAVA_HOME%\bin;.;
set path=%JAVA_HOME%\bin
java -jar %file%
pause


在执行以上代码之前,我想判断一下是否 'java'不是内部或外部命令,也不是可运行的程序或批处理文件。

如果把JDK的classpath和path设置成固定的路径,那样对于不同的电脑而言,JDK路径不同,并且JDK环境变量也不知道是否已设置,可移植性不太好,也就是说,可以根据不同的电脑,判断出java是否已经是内部或外部命令,也就可以判断出是否已经设置了JDK的环境变量,如果没设置环境变量的话,可以让用户输入JDK路径,那么批处理文件中,如何判断'java' 不是内部或外部命令,也不是可运行的程序或批处理文件?

恳请各位达人能帮忙解决一下问题。
...全文
256 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pzmyangkong 2009-11-25
  • 打赏
  • 举报
回复
那初始JDK环境变量时,该如何初始化,然后去判断?
panhaichun 2009-11-25
  • 打赏
  • 举报
回复
if "%JAVA_HOME%" == ""
pzmyangkong 2009-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 panhaichun 的回复:]
检查有没有 "JAVA_HOME" 这个环境变量也一样嘛
[/Quote]

上面的"JAVA_HOME"是用户输入的JDK路径,只是test.bat的一个变量,并不是一个环境变量,那如果检查JDK环境变量,该怎么检查?
panhaichun 2009-11-25
  • 打赏
  • 举报
回复
检查有没有 "JAVA_HOME" 这个环境变量也一样嘛

51,408

社区成员

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

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