我试图做一个简单的,如果这样的话
if %REGEDIT_HOME%=="" ( echo. echo Forms6i not present echo. ) else ( for /f "skip=1 tokens=3" %a in ('reg query %REGEDIT_HOME% > %LOGDIR%\tmp.txt') do ( echo. > nul ) )
问题是因为REGEDIT_HOME实际上是空的,我得到一个错误
)在这个时候是意外的。
if "%REGEDIT_HOME%"=="" (
匹配是一个文字字符串 – 它必须完全相同的==
两侧是真实的。
要么
你可以使用
if defined REGEDIT_HOME (
这显然颠倒了你用过的逻辑。
""
不是空字符串。 这是两个双引号。
如果变量是空的,你的if
被解释为:
if =="" (
这给你的错误。
所以你必须检查
if "%REGEDIT_HOME%"=="" (...
如果变量是空的,则解释为:
if ""=="" (