0
我有這個批處理文件我不使用循環
SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR /F "tokens=* USEBACKQ" %%F IN (`find "@ STATISTICS ON CLIENT_JE_AMT EY_ENT_DATE EY_EFF_DATE" "z_B10_VALIDATION.LOG"`) DO (
SET var!count!=%%F
SET /a count=!count!+1
)
ECHO %var1%
ECHO %var2%
for /f "tokens=1 delims=:" %%i in ("%var2%") do (
set stat_line_start=%%i
)
echo %stat_line_start%
set /a stat_line_end=!stat_line_start!+3
for /L %%j in (%stat_line_start%,1,%stat_line_end%) do (
echo %%j
set k=%%j
set cfirst=%k:~0,1%
set csec=%k:~1,1%
set cthird=%k:~2,1%
findstr /B "[%cfirst%-%cfirst%][%csec%-%csec%][%cthird%-%cthird%]:" "z_B10_VALIDATION.LOG">> z_STATS.txt
)
ENDLOCAL
當我運行它,我得到的變量「K」的正確值,但其對錯誤讓我的變量的正確值,在命令提示符「cfirst」,「csec」和「cthird」變量。 樣品結果行:
set k=254
set cfirst=~0,1
代替
set cfirst=2
我新上這一領域,並剛剛開始探索。希望您能夠幫助我。 預先感謝您。
您已啓用延遲擴展,但您沒有使用它。您在'for'循環中設置的任何變量應該用'!variable!'而不是'%variable%'調用。 – SomethingDark
哇!這實際上工作!非常感謝! – viNN0924