- @echo off
-
- :loop
-
- REM 检查当前用户的闲置时间
-
- for /f "tokens=2 delims=:" %%a in ('query user ^| findstr /i "idle time"') do set idle=%%a
-
- REM 将闲置时间字符串转换为数字
-
- for /f "tokens=1-2 delims=:" %%a in ("%idle%") do set /a idle=%%a*60+%%b
-
- REM 检查闲置时间是否大于 60 秒(1 分钟)
- if !idle! GTR 60 (
- REM 显示 5 秒警告的倒计时
- for /l %%i in (5, -1, 1) do (
- echo 在 %%i 秒内锁定计算机...
- timeout /t 1 > NUL
- )
-
- REM 锁定计算机
- rundll32.exe user32.dll,LockWorkStation
- )
-
- REM 等待 1 秒后再次检查闲置时间
- timeout /T 1 > NUL
- goto loop
复制代码
|