【问题标题】:How to check value of environment variable with string containing a space如何使用包含空格的字符串检查环境变量的值
【发布时间】:2015-01-14 15:06:54
【问题描述】:

(免责声明:在发布此问题之前,我查看了十多个相关的 SO 问题,但找不到答案。)

如何检查包含带空格的字符串的变量的值?

例如:

set str1=has space
if %str1%==has space echo Equal

上面会产生以下错误:

此时空间==已经出乎意料。

在右侧的字符串周围添加双引号没有帮助。

我在 Windows 7 上使用命令提示符 [版本 6.1.7601]。

【问题讨论】:

    标签: windows batch-file


    【解决方案1】:

    使用双引号:

    set str1=has space
    if "%str1%"=="has space" echo Equal
    

    【讨论】:

    • 谢谢! (知道这会很简单。)
    • 顺便说一句,回复:您对问题标题的编辑:有问题的变量是一个简单的变量,而不是环境变量。这种临时变量在其生命周期内是否被视为环境变量?
    • @Sabuncu:Windows 中没有“DOS 变量”之类的东西(因为不再有“DOS”之类的东西)。它始终是一个环境变量。您在控制面板中设置的值与在批处理文件中设置的值之间的唯一区别是变量的生命周期。如果您从批处理文件中调用程序,则无法判断该变量是全局定义的还是仅针对 cmd.exe 的此实例定义的。
    • 我明白了,谢谢。我一直在想的事情。
    猜你喜欢
    • 2016-10-03
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多