为什么以下批处理脚本失败? 是因为有两套双引号? 我如何让它工作?
SET INCOME-CODE="test (bob, bob2)"
IF "%INCOME-CODE%"=="NULL" (
SET APCINVOICE=%APCINVOICE%,
) ELSE (
SET APCINVOICE=%APCINVOICE%%INCOME-CODE%,
)
答案 0 :(得分:0)
两件事。
首先,您的变量INCOME-CODE
实际上有引号。试试这个简短的演示:
@echo off
set TEST1="this is a string with spaces"
set "TEST2=this is a string with spaces"
echo %TEST1%
echo %TEST2%
第二,您要与文字字符串" NULL"进行比较。批处理中没有NULL值。有关详细信息,请参阅此帖子:What is the proper way to test if variable is empty in a batch file...您可能要做的是与空字符串进行比较,或者如果您正在处理更复杂的事情,请使用上述问题中的一种方法。
IF "%INCOME-CODE%"=="" ( ... )