不允许使用Windows cmd脚本变量值中的括号?
发布时间:2020-12-14 05:29:15 所属栏目:Windows 来源:网络整理
导读:为什么提供以下 Windows 7 .cmd命令脚本: set SUN_JAVA_HOME=C:Program Files (x86)Javajdk1.6.0_17if 3==3 ( set JAVA_HOME=%SUN_JAVA_HOME%)echo ready 以下错误消息而不是打
为什么提供以下
Windows 7 .cmd命令脚本:
set SUN_JAVA_HOME=C:Program Files (x86)Javajdk1.6.0_17 if 3==3 ( set JAVA_HOME=%SUN_JAVA_HOME% ) echo ready 以下错误消息而不是打印“准备好” Javajdk1.6.0_17 was unexpected at this time. 如果我删除路径名中的“(x86)”,则错误消息会消失. 解决方法
问题是if 3 == 3部分之后的括号分组.
在解析集合JAVA_HOME =%SUN_JAVA_HOME%命令时,解释器立即替换%SUN_JAVA_HOME%变量,并导致(386)中右括号的早期匹配. 如果启用delayed expansion并将%SUN_JAVA_HOME%替换为!SUN_JAVA_HOME,则可以避免这种情况!: setlocal enabledelayedexpansion set SUN_JAVA_HOME=C:Program Files (x86)Javajdk1.6.0_17 if 3==3 ( set JAVA_HOME=!SUN_JAVA_HOME! ) echo ready (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- api – Windows Phone应用程序中的捐赠
- windows – 我怎么知道我是否在使用虚拟机?
- 使用ShowDialog()阻止所有其他Windows的WPF模态窗口
- Win32:如何使用CreateWindowExW()函数创建ListBox控件?
- 用于Windows 8.1 / Windows 10的C#中的Cordova插件开发
- Windows系统命令行NET LOCALGROUP命令 新增 删除更新 用户组
- windows-server-2008 – 我有2个相同的windows 2008 r2服务
- 深度学习番外篇---WIN10+PyTorch0.4.0+CUDA9.1环境配置
- windows – SQL 2008,RAM或CPU的重要性是什么?
- Windows Azure中的Web角色缩放
推荐文章
站长推荐
热点阅读