windows – DOS批处理:为什么我的set命令导致什么都没有存储?
发布时间:2020-12-13 20:32:52 所属栏目:Windows 来源:网络整理
导读:我稍后尝试访问TOMCAT_VER的值,但它显示为空字符串. if exist "%_REALPATH%tomcat-%TOMCAT_VER2%" ( set CATALINA_HOME=%_REALPATH%tomcat-%TOMCAT_VER2% set TOMCAT_VER=%TOMCAT_VER2% echo "%TOMCAT_VER%") else if exist "%TOMCAT_VER2%" ( set CATALIN
我稍后尝试访问TOMCAT_VER的值,但它显示为空字符串.
if exist "%_REALPATH%tomcat-%TOMCAT_VER2%" ( set CATALINA_HOME=%_REALPATH%tomcat-%TOMCAT_VER2% set TOMCAT_VER=%TOMCAT_VER2% echo "%TOMCAT_VER%" ) else if exist "%TOMCAT_VER2%" ( set CATALINA_HOME="%TOMCAT_VER2%" set TOMCAT_VER="%TOMCAT_VER2%" echo "%TOMCAT_VER%" ) 为了进一步调试,我在它设置的下方插入了一个echo语句,但它似乎不起作用.在禁用echo off的情况下,我可以看到显示这些变量设置的语句,但我似乎无法将它们打印出来.
你找到了bbb(批处理初学者bug),但是变量不是空的,它是不能按预期工作的扩展.
在执行代码之前,在解析行或完整括号块时完成百分比扩展. setlocal EnableDelayedExpansion if exist "%_REALPATH%tomcat-%TOMCAT_VER2%" ( set CATALINA_HOME=%_REALPATH%tomcat-%TOMCAT_VER2% set TOMCAT_VER=%TOMCAT_VER2% echo "!TOMCAT_VER!" ) else if exist "%TOMCAT_VER2%" ( set CATALINA_HOME="%TOMCAT_VER2%" set TOMCAT_VER="%TOMCAT_VER2%" echo "!TOMCAT_VER!" ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-runtime – 如何在WinRT中读取UFT8或UTF16以外的其
- dll – LoadLibrary失败,找不到模块错误 – 可能存在依赖性
- mef – “System.Composition.TypedParts.dll”在哪里?
- 2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 2016521
- active-directory – 有没有办法将AD用户与Office 365同步但
- winforms – Windows窗体应用程序转换为.Net Framework 4.0
- Windows 2008 R2和Infiniband SRP
- PyQt – 使窗口顶层
- windows – Jetty Maven插件忽略了自定义webdefault.xml
- wix – 如何在每台计算机安装中创建每用户启动文件夹快捷方