【发布时间】:2022-01-06 14:55:08
【问题描述】:
所以我有一个简单的作业,即做一个显示 3 个选项的批处理文件,以及该选项条目的错误消息。到目前为止,这对我来说似乎很简单。我看到了一个 youtube 视频,据我所知它应该可以运行,但问题是当我运行它并选择选项 2 时,它也会打开选项 1,而当我选择选项 3 时它不会退出程序。当我选择一个未指定的参数时,错误消息不会显示。我要复制粘贴我的批处理文件,因为它很容易理解。
@echo off
echo Choose an option:
echo.
echo 1)Open Disk cleanup
echo 2)Open Disk Defragmenter
echo 3)Exit
echo.
Set /p Op=Write the option:
if %op%==1 (
start %windir%\system32\cleanmgr.exe
)
else if %op%==2 (
start %windir%\system32\dfrgui.exe
)
else if %op%==3 (
exit
)
else (
cls
echo Error not defined
)
pause
有什么我遗漏或写错的地方,请告诉我。如果您可以复制粘贴并在您的计算机中运行它并告诉我它是否工作正常,因为有些东西告诉我在学习的过程中我尝试了几次,我想我搞砸了一些假设可以正确运行文件的东西,因为我的导师告诉我,在批处理文件中使用命令时我们必须小心。
【问题讨论】:
-
您的代码都不是正确的
IF...ELSE语法。IF命令的帮助文件中明确定义了语法。打开命令提示符并键入IF /?以阅读帮助文件。尽管如此,拥有三个IF命令而根本没有ELSE似乎同样容易。if %op%==1 start %windir%\system32\cleanmgr.exe和if %op%==2 start %windir%\system32\dfrgui.exe和if %op%==3 exit -
是的,谢谢它几乎可以工作我唯一的问题是错误消息显示是否指示了另一个值。
-
我建议您改用
CHOICE命令。如果这样做,它将不允许用户输入无效的选项。
标签: batch-file