为什么不能传递变量值?

时间:2018-05-25 15:49:41

标签: batch-file

我有一个批处理脚本如下:

setlocal enabledelayedexpansion
for /f "tokens=1,2 skip=3 delims= " %%a in (Instance_list.txt) do (
Set Intance_NAME=%%a
echo %Intance_NAME%

但回声部分是空的(没什么) 你能告诉我为什么并帮助我吗?

1 个答案:

答案 0 :(得分:1)

一些事情:

您激活delayedexpansion但从不使用它(请参阅%

在最后一行替换!

您也不需要使用`" delims ="在空白处,作为空格是批处理中的默认分隔符。

您没有以结束(

关闭循环
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2 skip=3" %%a in (Instance_list.txt) do (
Set Intance_NAME=%%a
echo !Intance_NAME!
)

最后,如果你没有在循环中设置变量,你真的不需要delayedexpansion,所以你也可以这样做:

@echo off
for /f "tokens=1,2 skip=3" %%a in (Instance_list.txt) do echo %%a