我有一个属性文件列表,它们具有键值对,如下面的config文件夹中所示。
PERIOD=1
RUN_MONTH=1605
PD_THRU_MONTH=1604
INCURD_BEGIN_DT=2015-03-01
我试图运行一个脚本来执行一个sql语句,使用这些作为参数。但是当我运行这段代码时
@echo off
for /r %%i in (config\*) do (
setlocal
FOR /F "tokens=1* delims==" %%K IN (config\%%~ni.prm) DO (
IF "%%K"=="PERIOD" (
Set FILE_PERIOD=%%L
echo %FILE_PERIOD%
)
)
endlocal
它返回最后一个文件的PERIOD
,在我的情况下9
。但当我用IF
替换echo %%L
内的块时,它会打印出正确的数字。
我是批量编程的新手,我发现这真的令人困惑。我一直在研究FOR循环语法等等,但我仍然无法找到我做错的事情。任何帮助将不胜感激,谢谢!
我也使用Windows 10,如果这有所不同。