Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件中的括号_Batch File_If Statement - Fatal编程技术网

Batch file 批处理文件中的括号

Batch file 批处理文件中的括号,batch-file,if-statement,Batch File,If Statement,由于“设备”后面的括号,此批处理文件出现错误 如何解决它?您需要启用延迟扩展并执行回显!瓦尔!以延迟样式显示,以防止在回显时计算括号 set var= 10(device) if 1==1 ( echo %var% present ) 与您的问题没有直接关系,但无论如何,我认为这是一个很好的建议,每当您批量设置variable=string时,请将var=val对用引号括起来,如下所示: @echo off setlocal enabledelayedexpansion set "var=

由于“设备”后面的括号,此批处理文件出现错误


如何解决它?

您需要
启用延迟扩展
并执行
回显!瓦尔!以延迟样式显示
,以防止在回显时计算括号

set var= 10(device)
if 1==1 (
echo %var% present
)
与您的问题没有直接关系,但无论如何,我认为这是一个很好的建议,每当您批量设置
variable=string
时,请将
var=val
对用引号括起来,如下所示:

@echo off
setlocal enabledelayedexpansion

set "var= 10(device)"
if 1==1 (
    echo !var! present
)
在批处理脚本中设置variable=string时,通常认为这是正确的做法。此方法还允许使用其他特殊字符,例如:

set "var= 10(device)"
设置“xml=10”
延迟扩展
回响xml!

您需要
启用延迟扩展
并执行
回显!瓦尔!以延迟样式显示
,以防止在回显时计算括号

set var= 10(device)
if 1==1 (
echo %var% present
)
与您的问题没有直接关系,但无论如何,我认为这是一个很好的建议,每当您批量设置
variable=string
时,请将
var=val
对用引号括起来,如下所示:

@echo off
setlocal enabledelayedexpansion

set "var= 10(device)"
if 1==1 (
    echo !var! present
)
在批处理脚本中设置variable=string时,通常认为这是正确的做法。此方法还允许使用其他特殊字符,例如:

set "var= 10(device)"
设置“xml=10”
延迟扩展
回响xml!

第一部分失败,因为问题不在于
设置var=10(设备)
而是IF块内
echo%var%
中的扩展。因此,您需要
set var=10(设备^^)
set“var=10(设备^)”获取点。我会重新整理我的答案。AbkkuMaSaulHuu如果我的答案是有用的,请考虑把它标记为接受。为了解释这一点的重要性,我无法对此进行标记,因为这给了我一个错误,即“标记需要15信誉”第一部分失败,因为问题不在于
set var=10(设备)
而是IF块内
echo%var%
中的扩展。因此,您需要
set var=10(设备^^)
set“var=10(设备^)”获取点。我会重新整理我的答案。AbkkuMaSaulHuu如果我的答案是有用的,请考虑把它标记为接受。为了解释这一点的重要性,我不能对此进行标记,因为“标记需要15个信誉”给了我一个错误