日期:2014-05-17  浏览次数:20650 次

批处理脚本~请教!
我想写一个.bat脚本,目的是检测系统是否安装7z,并且是否在环境变量path里设置了7z。

我的思路是:

call 7z
if not errorlevel 0 echo "未设置7z环境变量"
pause

但执行到call 7z就停住了,提示“7z不是内部或外部命令....”,我不想它显示这个...

还有啥判断的方法吗?菜鸟求救!Thank you!

------解决方案--------------------
你要是用call的方法,如果安装了程序肯定会调用一次7z这个程序,这可能让你的bat卡住或者输出7z的程序运行输出的东西,如果7z未安装,那“7z不是内部或外部命令....”这句话是无论如何都会被显示的。

所以,你还是从路径里办吧,看看path变量里面有没有包含"7-zip"这个字符串,一般7zip就是安装在这个名称的目录下的,下面这段bat可以作为参考:

@echo off
path|find "7-zip">nul&&goto yes

echo 未安装7z
goto end

:yes
echo 已经安装7z 
goto end

:end
pause