Batch file 如何设置提示用户是否关闭Windows PC的超时?

Batch file 如何设置提示用户是否关闭Windows PC的超时?,batch-file,shutdown,Batch File,Shutdown,我试图在每天的特定时间关闭Windows 我正在使用任务计划程序在特定时间关闭Windows。我使用的是一个批处理文件,这是工作 set /p a="Are you turn off computer (y/n)" if %a%==y (shutdown.exe /s /t 00) else (echo "") 我想在其中添加一些其他函数。我已经添加了用户输入和if-else语句,它们要求用户关闭或不关闭窗口 现在我想添加一个命令,如果用户在某个时间内没有给出任何输入,它将检查并执行shutd

我试图在每天的特定时间关闭Windows

我正在使用任务计划程序在特定时间关闭Windows。我使用的是一个批处理文件,这是工作

set /p a="Are you turn off computer (y/n)"
if %a%==y (shutdown.exe /s /t 00) else (echo "")
我想在其中添加一些其他函数。我已经添加了用户输入和if-else语句,它们要求用户关闭或不关闭窗口

现在我想添加一个命令,如果用户在某个时间内没有给出任何输入,它将检查并执行shutdown命令,但我不知道如何做到这一点

set "a="
set /p a="Are you turn off computer (y/n)"
if not defined a echo no user entry
if "%a%"=="y" (shutdown.exe /s /t 00) else (echo "")
set/p
的问题是,如果用户没有输入,则被
set
设置的变量名保持不变。因此,最初应将其设置为“无”

语法
设置“var=value”
(其中值可能为空)用于确保分配的值中不包含任何多余的尾随空格

IF
语句还可以接受
/i
开关(在
NOT
-如果使用)以使字符串比较不区分大小写。

使用以下命令:

/t10
给出10秒的超时时间。
/d y
是默认值(超时后选择的内容)
/m“Shutdown
是提示字符串

choice /t 10 /d y /m "Shutdown"
if errorlevel 2 (echo that's a no & goto :eof)
shutdown /s /t 0