为什么我的批处理文件会一直关闭?

时间:2017-10-29 15:38:56

标签: batch-file cmd

我无法弄清楚为什么在set / p opo = line之后它会继续关闭。 我进入操作然后它关闭,它没有提出:多代码。

这是我的代码:

title Calculator
color 0e
@echo off
GOTO calculator_main
:calculator_main
echo Enter a operation:
set /p opo=
if %opo%=='*'(
GOTO mult
)

if %opo%=='+'(
GOTO add
)

if %opo%=='-'(
GOTO sub
)

if %opo%=='/'(
GOTO div
)


:mult

echo Enter a number:
set /p num1=
echo Enter a number:
set /p num2=
set /a sum=%num1%*%num2%
echo %num1% * %num2% = %sum%
GOTO: calculator_main

pause

如果有人告诉我为什么会发生这种情况,我将非常感激,

的奥斯卡。

1 个答案:

答案 0 :(得分:1)

if %opo%=='*'(

应该是

if %opo%=='*' (

这个空间是必需的。您的代码会尝试针对opo测试您输入的字符串'*'((字面意思,包括&#39; < / p>

如果您确实要测试*的条目,请使用

if "%opo%"=="*" (

其中&#34; 分隔两个字符串,以便它们可以包含空格。

如果直接从命令提示符运行例程,而不是指向,单击和傻笑,您将看到语法错误报告。

OR

您可以调查choice命令(来自提示的choice /?,或使用search查找SO上的示例)