gpt4 book ai didi

batch-file - cmd/DOS 批处理脚本中变量周围的方括号表示法

转载 作者:行者123 更新时间:2023-12-04 05:50:19 25 4
gpt4 key购买 nike

我已经看到 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%] ,有些使用 !.有些人只使用一个字符而不是像 if %var%.==. 那样将字符串包围起来
最常见的是用 " 包围(因为如果 var 包含空格或像 & 这样的未加引号的有毒字符,它不会失败。) *) ,但这取决于个人的阵风。

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

关于batch-file - cmd/DOS 批处理脚本中变量周围的方括号表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com