计算器批处理文件在同一行上的两个变量

时间:2018-03-27 21:01:45

标签: batch-file cmd

我目前正在制作批处理文件以将两个数字相乘。这是我的代码:

@echo off
cls
echo Math Commands
set /p num1= & set /p num2=
set /a sum1="num1 * num2"
cls
echo Your question is %num1% x %num2%= %sum1%  
pause 

每次输入第一个数字时,都会创建一个新行以输入第二个数字。我正在寻找的解决方案是将它们乘以同一条线,例如用户输入" 10 10"而不是10,然后在下一行输入10。有没有办法做到这一点?谢谢!

2 个答案:

答案 0 :(得分:1)

正如我在评论中提到的,在分割字符串并自己计算字符串方面,您可能需要编写字符串解析器或使用正则表达式。但是,如果您只想进行简单的算术运算,则可以直接将输入输入计算中!

@echo off
cls
echo Math Commands
set /p "input=Calculate: "
set /a answer=%input%
cls
echo Your question is %input%= %answer%  
pause 

这适用于所有基本计算(不仅仅是乘法)。

答案 1 :(得分:0)

当我正确阅读你的问题和评论时,你想要输入两个数字(分隔一个空格,没有算术符号)

使用子字符串替换用*

替换空格
set /p "x=Enter two numbers: "
set /a y=%x: =*%
echo %x: = x % = %y%

注意:需要更多代码来避免“非符合”输入的语法错误