我已使用FOR /F
访问批处理文件中“last_bkp_date.txt”文件中的值。
%%a
的结果没问题,但我无法为v_abc
分配值。
我在set v_abc =
循环之前使用过for
来特别删除/删除对此变量所做的任何过去的分配。
有人可以帮我这个吗?
@SETLOCAL EnableDelayedExpansion
@echo off
set v_abc =
FOR /F "tokens=1 usebackq" %%a IN (last_bkp_date.txt) DO (
set v_abc =%%a
echo value of a: %%a
echo value of abc: !v_abc!
)
答案 0 :(得分:2)
语法为SET variable=value
。您的问题是变量名称和=
符号之间的空格。
试试这个
set v_abc=%%a
和voilà!
原因是在Windows环境中变量名称可以包含空格。但不建议这样做,因此作为问题的替代解决方案,您可以通过这种方式访问变量,包括空格
echo value of abc: !v_abc !
答案 1 :(得分:2)
在变量名称(set v_abc =%%a
)之后添加空格的简单新手错误。
您可以通过
修复它将set v_abc =%%a
更改为set v_abc=%%a
或强>
将echo Value of abc: !v_abc!
更改为echo Value of abc: !v_abc !
。
简单。