批处理脚本无法在IF Statment中解析

时间:2017-01-24 15:34:04

标签: batch-file variables if-statement for-loop

我有一个批处理脚本来获取PC时间并检查文本文件是否为空;如果是我手动输入格式为HR:MIN的时间;然后我使用delims获取HRMIN的单个变量,并将其作为HR:MIN读取(仅用于测试目的),但脚本只返回{{ 1}}没有变量值。我确信这是一个让我感到茫然的东西,但请给我你的见解!

以下是代码部分:

:

然后它返回:

for %%a in ("C:\My Scripts\Temp Files\%DAY%.txt") do set size=%%~za
if %size% EQU 0 (
    set /p Timeout=Time-Out: 
    echo %Timeout%>nul
    for /f "tokens=1 delims=:" %%i in ('echo %Timeout%') do set ToutHR=%%i
    for /f "tokens=2 delims=:" %%i in ('echo %Timeout%') do set ToutMIN2=%%i
    pause
    echo Time-Out: %ToutHR%:%ToutMIN2%
    pause
)

1 个答案:

答案 0 :(得分:0)

正如标题中所示,然后相应地更改代码:

For %%a In ("C:\My Scripts\Temp Files\%DAY%.txt") Do Set "size=%%~za"

If "%size%"=="0" (Set/P "Timeout=Time-Out: "
    For /F "Tokens=1-2 Delims=:" %%i In ("!Timeout!") Do (Set "ToutHR=%%i"
        Set "ToutMIN2=%%j")
    Echo=Time-Out: !ToutHR!:!ToutMIN2!
    Pause
)