批处理文件"如果"和"转到"问题

时间:2016-01-31 04:10:26

标签: batch-file

每当我运行.bat文件时一切顺利我选择我的时间它会在几分钟内说出所有这一切直到确认你的决定而且我真的不知道如何解决它由于某种原因它只是去 :关闭

意图:我在安装游戏时使用它作为一个简单的小工具,例如,如果我必须离开蒸汽下载并安装一个大型游戏,我只需选择一个时间并离开它:)

注意:我没有编码经验(除了在游戏中改变LUA脚本的值),所以解释如下 非常赞赏 并且确定我可以使用shutdown命令,但我想创建一些更加花哨的东西

如果有人可以向我解释一下 / s在关机 和/在设置的timedelay命令中,因为正如我所说,我几乎没有经验

如果您无法回答,或者无论如何都会感到烦恼,谢谢您的时间!

提前谢谢! :)

@echo off
cls
title Delayed Shutdown
echo Delayed Shutdown by Martin Angelov
echo Press Any Key To Choose Delay
Pause>NUL

:choosedelay
cls
echo Type in the desired ammount of delay
set /p timedelaysec=
set /a timedelaymin=%timedelaysec% / 60

:confirmation
echo Your current desired shutdown time is:
echo %timedelaysec% Seconds
echo ( %timedelaymin% Minutes )
echo Press 1 to Confirm Shutdown
echo Press 2 to Change Delay
echo press 3 to Exit Program
set /p confirmaation =
if "%confirmaation%" == "1" goto shutdown
if "%confirmaation%" == "2" goto choosedelay
if "%confirmaation%" == "3" goto exit


:shutdown
cls
echo Shutting Down!
echo Delay Chosen:
echo %timedelaysec% Seconds
echo ( %timedelaymin% Minutes )
pause
exit

:exit
cls
echo Exiting Program...
ping 0.0.0.0 -n 2
exit

:Temporary so it doesn't actually enable the shutdown
shutdown /s /t %timedelaysec%

1 个答案:

答案 0 :(得分:1)

在批处理文件中,它通常是简单而令人沮丧的。

尝试

set /p confirmaation=

(请注意,我在等于之前删除了一个空格。)

如果这样可以解决您的问题,那么您的环境变量未设置为您检查的三个值中的任何一个,逻辑非常自然地逐行:shutdown。

祝你好运!