Batch file 批处理无法在if语句中获取值

Batch file 批处理无法在if语句中获取值,batch-file,if-statement,sqlite,Batch File,If Statement,Sqlite,我有这个问题,在%count%变量中,我得到了数据库的记录数,在echo中,它工作得很好,它输出的数字像132,但在if语句中,我可以看到是否比较的不是132,而是132 setlocal enabledelayedexpansion set "count=SELECT COUNT(*) FROM Events;| sqlite3.exe system_events" echo %count% set "sk=1000" if %count% gtr %sk%

我有这个问题,在%count%变量中,我得到了数据库的记录数,在echo中,它工作得很好,它输出的数字像132,但在if语句中,我可以看到是否比较的不是132,而是132

setlocal enabledelayedexpansion
    set "count=SELECT COUNT(*) FROM Events;| sqlite3.exe system_events"
    echo %count% 
    set "sk=1000"
    if %count% gtr %sk% (
        echo Delete from Events where Id IN ( Select Id from Events limit 1^) ;| sqlite3.exe system_events" 
        pause
    )
    set "laik=%time:~0,2%:%time:~3,2%:%time:~6,2%"
    echo INSERT INTO Events (Date, Time, Error_type) Values ("%Date%", "%laikas%", 0);| sqlite3.exe system_events

这样一来,若语句不起作用,我的问题在哪里谢谢:)

这不是SQLite功能的一部分。不过,还有一些变通办法。请参见问题不在
中如果
,则在
集合中。从命令中检索输出并将其分配给变量的方法是使用
for/f
命令

for/f“delims=“%%a in('
cmd/q/c“从事件中回显选择计数(*)”^| sqlite系统_事件
“)是否设置“计数=%%a”
>if SELECT COUNT(*) FROM Events;|sqlite3.exesystem_even
ts gtr 1000 (