Batch file 带中止选项的PC关机命令将在Windows 8中运行

Batch file 带中止选项的PC关机命令将在Windows 8中运行,batch-file,command,message,shutdown,abort,Batch File,Command,Message,Shutdown,Abort,我一直在尝试创建一个批处理文件,该批处理文件会在30秒后触发我的Windows 8电脑开始关机,并显示一条警告消息:“你的电脑将在30秒后关机!请按“取消”按钮中止关机。”我已在桌面上创建了以下批处理文件: 关机/s/c“您的电脑将在30秒内关机!/t 30 以及: 关机/a 它确实关闭了电脑,但该消息在30秒后才会显示,并在1秒内消失,开始关闭,无法停止。我甚至尝试在30秒结束前关闭/a批处理文件,但没有成功停止关闭 Windows 8的命令是否不正确 我希望在30秒到期之前有一个带有弹出消息

我一直在尝试创建一个批处理文件,该批处理文件会在30秒后触发我的Windows 8电脑开始关机,并显示一条警告消息:“你的电脑将在30秒后关机!请按“取消”按钮中止关机。”我已在桌面上创建了以下批处理文件:

关机/s/c“您的电脑将在30秒内关机!/t 30

以及:

关机/a

它确实关闭了电脑,但该消息在30秒后才会显示,并在1秒内消失,开始关闭,无法停止。我甚至尝试在30秒结束前关闭/a批处理文件,但没有成功停止关闭

Windows 8的命令是否不正确

我希望在30秒到期之前有一个带有弹出消息警告和取消(中止)按钮的脚本,或者至少让两个批处理文件在Windows 8中工作,同时显示警告消息和中止批处理文件

不确定Windows 8是否有一个命令或其他可以工作的东西,但希望它能够工作。非常感谢您的帮助

非常感谢

比利

试试看

@echo off
echo Your PC will shutdown in 30 seconds! Press CTRL+C to abort.
ping -n 31 127.0.0.1>nul
shutdown /s
PING命令是将批处理脚本暂停所需时间的安全方法。 更多信息请点击此处:

按Ctrl-C将中止批处理脚本的继续操作。

您好,您可以尝试此操作

@echo off
echo "Your System will shutdown in 30 seconds. To abort press A"
SET Option=Choice:
if "%Option%"=="A" GOTO Sub_MenuA
shutdown /s
:Sub_MenuA
exit 0

嗨,试试这个小聪明的代码,我创建并使用了任务调度器,这是有趣的使用

title GO HOME
@echo off
:MAIN
echo.
echo.
echo.
echo Do you wanna shut down?
echo.
echo The time is %time%
echo.
echo.
echo.
echo.
set /p input= y or n?     
if %input%==n goto work
if %input%==y call bye.bat

:work
echo.
echo.
echo.
echo. Alright, keep working busy bee.

TIMEOUT 5
再创建一个bat文件并另存为bye.bat,然后复制粘贴此代码:

echo Have a nice evening, Cya.

shutdown.exe /s /t 0

这稍微容易一些,并且已经在Windows8中进行了测试

:: Shutdown.bat
:: Messages a forced shutdown then waits for a Ctrl+C to abort,
:: any key to execute immediately, or shuts all programs and  
:: the computer down after Timeout /t (n) seconds automatically.
:: 
@echo off
echo.
echo.
:: 
echo Press Ctrl+C to Abort imminent Shutdown because I'm
timeout /t 120
::
shutdown.exe /s /t 5
exit

这是另一个选项。此BAT文件向用户询问是/否问题,以确定是否应继续关机。用户无需按CTRL+C中止。在用户输入选择之前,关机不会继续

@ECHO OFF
:: This batch file allows the user to choose to shutdown immediately, or cancel and   return to Windows
::
CD\
CLS
ECHO.
:LOOP
ECHO Would you like to shutdown immediately?
ECHO.
ECHO   Y = SHUTDOWN IMMEDIATELY (WARNING!! Unsaved work will be lost)
ECHO   N = CANCEL and return to Windows
ECHO.
SET Choice=
SET /P Choice=TYPE YOUR CHOICE AND PRESS ENTER: 
IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1%
ECHO.
IF '%Choice%'=='y' GOTO ShutdownNow
IF '%Choice%'=='n' GOTO Leave
ECHO "%Choice%" is not valid. Please try again.
ECHO.
GOTO Loop
:ShutdownNow
ECHO.
shutdown /s /t 1

:Leave
Exit

jtheman,谢谢你的快速回复!你的回答可以通过立即显示cmd提示符来工作,CTRL+C也可以工作。我没想到会出现cmd提示符(黑匣子)警报类型,但它确实有效。除了cmd提示符之外,还有其他方法吗?我将您的代码保存为.bat文件。是否可以仅使用一个键(如a或C键)或功能键(如F12)将其中止?我非常感谢您的帮助,并期待您的答复!如果您愿意,它比您想象的要复杂得多继续倒计时并允许自定义按键在超时期间中止。Ctrl-C作为一般中止功能在其他方面相当简单。但另请参阅本文:(Gaurav下面的示例不起作用,因为中止按键a必须在30秒延迟之前或之后发生-而不是在延迟期间)jtheman,我同意你的看法。在查看帖子之后,它变得更加复杂。我将使用CTRL+C选项使用你的工作批处理。我非常感谢你的帮助!!!!jtheman,更新点击.bat文件工作正常,但是当我将其添加到备份程序的“完成时”设置中时(有一个“post finish backup命令“设置为运行.bat文件)未显示cmd提示消息和中止指令。备份完成后,它会等待30秒,但没有任何cmd提示&电脑会立即关闭。奇怪的是,直接点击.bat文件也可以正常工作,但当备份完成并启动.bat文件时,它会在30秒后关闭电脑,但没有带有message&abort选项的cmd提示。有什么想法吗?谢谢我不知道。这一定是备份软件执行脚本的方式。通常,批处理脚本总是在控制台窗口中运行。所以我帮不了你…高拉夫·科拉卡,谢谢你的快速回复!您的答案是通过立即显示带有消息的cmd提示符(黑框)来工作的,但按a键可以工作,并且不会等待30秒。它在几秒钟内开始关机。有什么办法解决这个问题吗?非常感谢您的帮助,我期待着您的回复!谢谢如果您使用任务计划程序在特定时间调用关机,请如下调用,以便命令控制台显示:::calls shutdown.bat和cmd/k以显示控制台窗口::即使任务计划程序调用::cmd/k shutdown.bat退出