本帖最后由 pcl_test 于 2016-10-15 12:05 编辑
首先感谢一下坛子里的大侠们
在这里学了不少需要用的知识
但最近想做一个批处理在安装mysql的时候添加系统变量MYSQL_HOME=C:\MySQL\bin
path的值是C:\windows;C:\windows\system32;%MYSQL_HOME%
path里的MYSQL_HOME是以变量名形式存在的,因为如果重新安装MYSQL到D盘,只需更改MYSQL_HOME的值就可以了
所以我在我的批处理中需要判断path里面是否有"%MYSQL_HOME%"这个字符串
我用- reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v path|findstr "XXXXXXXXX"&&goto case1||goto case2
复制代码 XXXXXXXX部分我用%%MYSQL_HOME%%,%MYSQL_HOME%,MYSQL
结果无论path中是否存在%MYSQL_HOME%都返回到case2
而且我单独在cmd里regquery path的时候会提示错误:有更多数据可用
所以向问一下是不是我写错了
还是有什么其他的方法可以实现我需要的功能呢?
btw我写入注册表用的是- wmic ENVIRONMENT where "name='path' and username='<SYSTEM>'" set VariableValue='%path%;%%MYSQL_HOME%%'
- wmic ENVIRONMENT create name="MYSQL_HOME",username="<SYSTEM>",VariableValue="%~d0\MySQL\bin"
复制代码
|