批量测试变量是否等于空格

7
在我的代码中,我正在遍历字符串中的每个字符。我需要测试该字符是否为空格。
这是我的代码:
if %str% == " " (
    ::echo Empty
    echo | set /p=%space%
    goto loopEnd
)

我也尝试了以下方法:
if [%str%] == [" "] (
    ::echo Empty
    echo | set /p=%space%
    goto loopEnd
)

两个都报错

( was unexpected at this time.

或者

] was unexpected at this time.

我在测试字母或数字时没有出现错误。那么我做错了什么呢?

谢谢,

Zach


不要使用双冒号::(始终使用rem)将注释放置在块内。 ::语法被视为一个空标签,可能会产生奇怪的行为和许多语法错误。 [请参见jeb的答案](https://dev59.com/nmct5IYBdhLWcg3wCJB-#12408045)以及[Comments](http://www.robvanderwoude.com/comments.php)。 - elzooilogico
1个回答

5

尝试在变量周围加上引号。

if "%str%" == " " (
    ...
)

这个有效,谢谢!我该如何将一个变量设置为空格字符?当我执行set space= 时,什么也没有发生,而当我执行set space=" "时,我得到的是" "。 - BaleineBleue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接