我有一个脚本,可以使用random_tests_0,random_tests_1格式创建一些文件 但是我的变量在添加到文件名字符串时不起作用。
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set /A num=0
for %%a in (.\gpc_cfgs\*) do (
ECHO !num!
set filename = random_tests_!num!
ECHO !filename!
set /A num+=1
)
OUTPUT:
0
random_tests_0
1
random_tests_0
EXPECTED OUTPUT:
0
random_tests_0
1
random_tests_1
答案 0 :(得分:2)
设置变量时,名称和变量中都包含=
的两侧。 您应该可以使用!filename !
来解决此问题,尽管该值仍然会以可能不需要的空格开头!。
推荐的语法为Set "VariableName=VariableValue"
,因此:
@Echo Off
SetLocal EnableDelayedExpansion
Set "num=0"
For %%A In ("gpc_cfgs\*") Do (
Echo !num!
Set "filename=random_tests_!num!"
Echo !filename!
Set /A num+=1
)
这应该输出与!filenames!
中的文件数量相同的gpc_cfgs
。