我在这里做错了什么(定时关机脚本)
What am I doing wrong here (Timed Shutdown script)
我以前用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. 这到底是什么意思!?
- 在一行命令之间使用
&
:pause & goto start)
- 添加缺失的
/a
:set /a Seconds=%Minutes% * 60
- 调试批处理文件注释掉
@echo off
我以前用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. 这到底是什么意思!?
- 在一行命令之间使用
&
:pause & goto start)
- 添加缺失的
/a
:set /a Seconds=%Minutes% * 60
- 调试批处理文件注释掉
@echo off