运行

时间:2016-09-19 15:14:46

标签: batch-file

我有一个属性文件列表,它们具有键值对,如下面的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,如果这有所不同。

0 个答案:

没有答案