我有一个变量,我需要检查它是否包含空格,如果包含空格则退出。 我有这段代码:
if not [%VAR%]==[%VAR: =%] exit 1
..但它不适合空间。我可以将它用于其他角色。例如,寻找" /"使用相同的代码:
if not [%VAR%]==[%VAR:/=%] exit 1
有办法吗?
谢谢,
答案 0 :(得分:6)
这应该按照您的需要进行:双引号始终是空格的解决方案,也包含其他一些字符。
if not "%VAR%"=="%VAR: =%" exit 1
答案 1 :(得分:3)
虽然foxidrive的答案可以处理简单案例的问题并且是明显的答案(是的,这是我通常使用的),但对于内部引用的值,它将失败
"如果需要" 这应处理边际情况
for /f "tokens=2 delims= " %%a in (".%var:"=%.") do exit 1
"技巧"是用删除的引号括起该值,并使用for
命令对该字符串进行标记。为了避免删除字符串开头和结尾处的空格,包括一对附加点。如果字符串不包含空格,则只有一个标记。但for
命令正在请求第二个令牌,因此不会为没有空格的字符串执行内部代码。