我在这里做错了什么(Timed Shutdown script)

时间:2015-08-03 09:35:27

标签: windows batch-file shutdown windows-10

我在C#中做过这样一个简单的程序,然后才进行练习。 我现在以.bat脚本的形式进行操作。 那么......我做错了什么?:

@echo off
title TimedShutdown
color 02
mode con:cols=50 lines=5
:start
cls
set "quit=a"
set /p Minutes= Minutes to shutdown? ('a'= cancel shutdown) -

if %Minutes%==%quit% (shutdown /a
pause goto start)

set "Seconds=%Minutes%*60"
shutdown /s /t %Seconds%
pause
goto Loop

:Loop
cls
set /a Seconds=%Seconds%-1
set /a Minutes=%Seconds%/60
set /a Remainder=%Seconds% %% 60
echo %Minutes%m %Remainder%s remaining...
timeout 1 >nul
goto Loop

正如您所看到的,这不是一个非常复杂的脚本,所以我相信人们不需要解释它的作用。 它似乎工作正常,但关闭命令部分本身似乎不起作用。我在它之后扔了一个暂停命令,看看出了什么问题,我看到了this.这究竟是什么意思!?

1 个答案:

答案 0 :(得分:0)

  1. 在命令行之间使用&pause & goto start)
  2. 添加遗失的/aset /a Seconds=%Minutes% * 60
  3. 调试批处理文件注释掉@echo off