如何修改下面的关机程序,执行后并不能实现定时关机
定时关机 MS-DOS 批处理文件
源文件如下:
ECHO 请输入倒计时秒数
ECHO ————————
ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtime
:delAt
cls
echo.
at /del /y
echo 定时关机任务已取消,按任意键继续...
pause >nul
GOTO start
:view
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意键继续...
PAUSE >nul
GOTO start
:restart
shutdown -r -t 0
:lock
rundll32.exe user32.dll,LockWorkStation
goto start
:logoff
logoff
:end
exit
参考答案:要定时关机的话,你的批处理程序有问题,有很多无用的和错误的跳转。更正的结果如下:
(如果你没有tsshutdn 就改成shutdown -s -t %timed%)
@echo off
ECHO 请输入倒计时秒数
ECHO ————————
ECHO (如果没有参数就直接退出)
if "%1"=="" goto end
SET /p timed=%1
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO end
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO end
:end
SET timed=
exit