批处理文件 - X分钟后关闭计算机

时间:2011-06-22 12:38:11

标签: windows batch-file cmd

我想创建一个批处理文件,在几分钟内完成用户输入,并在时间结束后关闭计算机。

我知道如何在一段时间后关闭计算机,我一直无法将时间设置为用户输入。

6 个答案:

答案 0 :(得分:5)

我认为这会做你想要的。

@echo off
set /p mins=Enter number of minutes to wait until shutdown:
set /a mins=%mins%*60

shutdown /s /t:%mins%

根据http://ss64.com/nt/shutdown.html,您可以等待的最多时间是10分钟,所以如果您需要等待更长时间,则需要添加某种人工计时器,如果您的系统支持它,很可能使用TIMEOUT之类的东西(我的没有)或ping。

@echo off
set /p mins=Enter number of minutes to wait until shutdown:

for /L %%a in (0,1,%mins%) do (
    PING -n 60 127.0.0.1>nul
)
shutdown /s

答案 1 :(得分:2)

查看此主题。

https://superuser.com/questions/215531/windows-7-shut-down-pc-after-specified-amount-of-time

在@echo离线之后将此代码放入其中:

shutdown -s -t 1800

答案 2 :(得分:1)

@echo off
title Shutdown Input

set /p mins=Enter number of minutes to wait until shutdown:
set /a mins=%mins%*60

shutdown.exe -s -t %mins%

答案 3 :(得分:1)

  1. 使用bat作为扩展名创建文件(例如delayed.bat)  您可以使用Accessoires下的编辑器。
  2. 将以下行写入文件并保存(文件必须以.bat结尾):
  3. @echo off
    set /p time=minutes:
    set /a time=%time%*60
    shutdown /a
    shutdown /s /f /t %time%
    
    • set / p让用户输入内容
    • set / a解释表达式(计算)
    • / a 中止早期关机(计数器)
    • / s代表关闭
    • / f代表强制程序关闭(可选)。
    • / t代表时间(秒)。 (例如:60s * 10 = 10分钟)

      1. 双击文件并在计算机关闭多少分钟后输入。
      2. 要中止关机:输入一个大号(例如10000000)。

答案 4 :(得分:0)

varargs,并在@echo离线后将此代码放入其中:

shutdown -a

运行批处理文件后,计算机将关闭30分钟(1800秒)。

要取消该批处理文件启动的关闭,您可以转到“开始”→“运行”并键入:

SaveChanges

或者将其放在自己单独的批处理文件中,然后运行它以取消关闭。

Create a batch file

答案 5 :(得分:0)

将其放入批处理文件中并运行。

@echo off
@setlocal
color 1E
echo  ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
echo  Ý                                          ÚÄÄÄ¿Þ
echo  Ý       SHUTDOWN COMPUTER WITH TIMER       ³ û ³Þ
echo  Ý                                          ÀÄÄÄÙÞ
echo. ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
echo.
echo.
echo ----------------------------------------
Set /P _abort=abort shutdown? (y, *):
echo ----------------------------------------
    If /i "%_abort%"=="y" shutdown /a
    If /i "%_abort%"=="y" goto step1
Set /P _timer=shutdown computer after minutes: 
    echo ------------------------
    set /a _result= _timer * 60
    shutdown /s /t %_result%
:step1
    echo Job Done!
    pause