两组双引号批处理文件错误

时间:2016-01-28 14:13:40

标签: batch-file double-quotes

为什么以下批处理脚本失败? 是因为有两套双引号? 我如何让它工作?

SET INCOME-CODE="test (bob, bob2)"

IF "%INCOME-CODE%"=="NULL" (

  SET APCINVOICE=%APCINVOICE%,

 ) ELSE (

   SET APCINVOICE=%APCINVOICE%%INCOME-CODE%,

 )

1 个答案:

答案 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%"=="" ( ... )