這是我第一次使用Stack Overflow,因此請對此問題保持寬鬆。我一直在批量編程,並使用DOSbox在Linux機器上運行它們。計算批處理腳本中兩個變量的總和
這裏是代碼我一直使用:
@echo off
set a=3
set b=4
set c=%a%+%b%
echo %c%
set d=%c%+1
echo %d%
的輸出是:
3+4
3+4+1
我如何將添加兩個變量,而不是附和該字符串的?
這是我第一次使用Stack Overflow,因此請對此問題保持寬鬆。我一直在批量編程,並使用DOSbox在Linux機器上運行它們。計算批處理腳本中兩個變量的總和
這裏是代碼我一直使用:
@echo off
set a=3
set b=4
set c=%a%+%b%
echo %c%
set d=%c%+1
echo %d%
的輸出是:
3+4
3+4+1
我如何將添加兩個變量,而不是附和該字符串的?
您需要在set命令上使用屬性/a
。
例如,
set /a "c=%a%+%b%"
這可以讓你在set命令使用arithmetic expressions,而不是簡單的串聯。然後
您的代碼將是:
@set a=3
@set b=4
@set /a "c=%a%+%b%"
echo %c%
@set /a "d=%c%+1"
echo %d%
和將輸出:
7
8
根據運營商的這個有用的列表[操作員可以如數學表達式想到]找到here,您可以通過使用+ =歌劇告訴批處理編譯器您正在操作變量而不是固定數字而不是+運營商。
希望我幫助!
@ECHO OFF
TITLE Addition
ECHO Type the first number you wish to add:
SET /P Num1Add=
ECHO Type the second number you want to add to the first number:
SET /P Num2Add=
ECHO.
SET /A Ans=%Num1Add%+%Num2Add%
ECHO The result is: %Ans%
ECHO.
ECHO Press any key to exit.
PAUSE>NUL
它沒有帶來任何新東西,沒有解釋任何東西。 –
可以解決任何方程,包括與此代碼添加:
@echo off
title Richie's Calculator 3.0
:main
echo Welcome to Richie's Calculator 3.0
echo Press any key to begin calculating...
pause>nul
echo Enter An Equation
echo Example: 1+1
set /p
set /a sum=%equation%
echo.
echo The Answer Is:
echo %sum%
echo.
echo Press any key to return to the main menu
pause>nul
cls
goto main
您正在尋找的 '/ A' 屬性。這裏:
@echo off
set a=3
set b=4
set/a c=%a%+%b%
echo %c%
set/a d=%c%+1
echo %d%
'/ a'是數學。你不能輸入字母。默認返回值爲0 輸出將是:
7
8
我在這裏看不到任何更多的信息比在接受,4歲的答案! – jeb
這裏是我的
echo Math+
ECHO First num:
SET /P a=
ECHO Second num:
SET /P b=
set /a s=%a%+%b%
echo Result: %s%
這幾乎是相同的(3歲)答案像泰米爾selvan的答案。 – jeb
我試過了,並沒有奏效。它輸出ECHO關閉,ECHO關閉。 – Swarage
如果將代碼保存到.bat文件並從命令行運行,它將生成輸出「7 8」。即使在回聲關閉的情況下,如果特別使用echo命令仍然會輸出。當你運行代碼時你看到了什麼輸出? – staticbeast
我將代碼保存到.bat文件中。有一件事。我運行linux,並從DOSbox運行代碼。我通過在DOSbox中輸入.bat文件的名字來運行程序(在安裝完所有額外的程序之後)。輸出是「ECHO關閉」,並在下一行「ECHO關閉」 – Swarage