windows - 批处理文件中的字符串比较

标签 windows batch-file

我们如何比较批处理文件中有空格和特殊字符的字符串?

我正在尝试:

if %DevEnvDir% == "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\"(
echo VS2010
)

但它给出了一个错误“此时文件是意外的。”

我试过:

if "%DevEnvDir%" == "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\"(
echo VS2010
)

但它给出了一个错误“命令的语法不正确。”

有什么想法吗?

最佳答案

只需在环境变量周围加上引号(正如您已经完成的那样):

if "%DevEnvDir%" == "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\"

您正在比较的字符串很好,问题是您放置左括号的方式没有空格。这使它感到困惑。

对我有用...

C:\if "%gtk_basepath%" == "C:\Program Files\GtkSharp\2.12\" (echo yes)
yes

关于windows - 批处理文件中的字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14954271/

相关文章:

windows - 批处理脚本简介

c++ - char* 值在分配期间被损坏

php - --shell 停止执行,适用于命令提示符、批处理文件、PHP exec() 等

c++ - 我如何知道我的系统应用了哪个主题包?

c++ - 如何在 GDI 中转换一个简单的位图

asp.net-mvc - Perl LWP 无法连接到 Windows 11 上的本地主机

batch-file - CLS(清晰)单行?

loops - .bat 文件循环遍历文件夹并 append 文本文件

java - 如何在 Linux shell 中接受左/右/上/下箭头输入?

batch-file - 在批处理文件中调用 powershell 脚本时如何使用嵌套引号?