批处理文件 – cmd / DOS批处理脚本中变量周围的方括号表示法

前端之家收集整理的这篇文章主要介绍了批处理文件 – cmd / DOS批处理脚本中变量周围的方括号表示法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看到cmd批处理脚本使用方形符号来包围变量.例如:
@echo off
if [%1]==[] (
echo no parameter entered
) else (
echo param1 is %1
)

这样做的目的是什么?

它用于正确的语法.试想一下,如果变量是空的,你想检查一下:
if %var%== echo bla

显然会失败. (语法错误)

代替:

if "%var%"=="" echo bla

工作良好.

另一个“坏事”:你想检查一个变量,但它可能是空的:

if %var%==bla echo bla

如果%var%不为空,则效果很好.但如果它是空的,那么该行将被解释为:

if ==bla echo bla

显然是一个语法问题.但

if "%var%"=="bla" echo bla

将被解释为

if ""=="bla" echo bla

正确的语法.

而不是“你可以使用其他字符.有些像[%var%],有些人使用!或者.
有些人只使用一个字符而不是围绕字符串,就像%var%.==一样.
最常见的是“(因为如果var包含像&amp ;.这样的无引号毒药字符,它不会失败)*),但这取决于个人的阵风.

*)感谢dbenham,这是一个非常重要的信息

猜你在找的Windows相关文章