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
Batch file 批处理延迟扩展未按预期工作_Batch File - Fatal编程技术网

Batch file 批处理延迟扩展未按预期工作

Batch file 批处理延迟扩展未按预期工作,batch-file,Batch File,我已经写了下面的批处理脚本示例,变量计数正在更新,但是我的根目录没有更新,我是否遗漏了什么 @echo off setlocal ENABLEDELAYEDEXPANSION set MY_ROOT= C:\ set COUNT=0 if 1 == 1 ( set MY_ROOT = D:\ echo MY_ROOT = !MY_ROOT! set /A COUNT=10 echo Count = !COUNT! ) :end **o/p:** MY_ROOT =

我已经写了下面的批处理脚本示例,变量计数正在更新,但是我的根目录没有更新,我是否遗漏了什么

@echo off
setlocal ENABLEDELAYEDEXPANSION
set MY_ROOT= C:\
set COUNT=0

if 1 == 1 (  
  set MY_ROOT = D:\ 
  echo MY_ROOT = !MY_ROOT!

  set /A COUNT=10 
  echo Count = !COUNT!
)
:end

**o/p:**
MY_ROOT =  C:\
Count = 10

谢谢。

批处理文件中最令人困惑的“功能”之一是空格成为变量名的一部分。使用
SET
时,请删除等号周围的空格。您也可以使用下面代码中的引号来进行更安全的赋值

@echo off
setlocal ENABLEDELAYEDEXPANSION
set "MY_ROOT=C:\"
set COUNT=0

if 1 == 1 (  
  set "MY_ROOT=D:\"
  echo MY_ROOT = !MY_ROOT!

  set /A COUNT=10 
  echo Count = !COUNT!
)
:end

批处理文件中最容易混淆的“功能”之一是空格成为变量名的一部分。使用
SET
时,请删除等号周围的空格。您也可以使用下面代码中的引号来进行更安全的赋值

@echo off
setlocal ENABLEDELAYEDEXPANSION
set "MY_ROOT=C:\"
set COUNT=0

if 1 == 1 (  
  set "MY_ROOT=D:\"
  echo MY_ROOT = !MY_ROOT!

  set /A COUNT=10 
  echo Count = !COUNT!
)
:end

字符串
set
语句的两侧都有空格。您正在分配一个名为“MY_ROOTSpace”的变量在字符串
集合
语句的两侧空格都是有效的。您正在分配一个名为“MY_ROOTSpace”的变量

的可能重复