2013-10-06 41 views
0

我是新來的遊戲批處理編程,我試圖做一個變量另一個相等,而如果運營商增加或減少另一個變量,不是最大值,它不會再增加或減少。我的批處理文件是:使一個變量等於另一個變量,因此它不能增加或減少了

if %num1% geq %num2% set /a num1=%num1% == %num2% 
echo number: %num1%/%num2% 
echo 1) add number 
echo 2) quit 
set /p input= 
if %input% == 1 set /a num1=%num1%+1 
if %input% == 2 exit 

如果出現類似的問題,請對我好一點。

+3

世界爲什麼你會程序中使用「批量」遊戲?如果你有做這種奇怪的事情,然後使用PowerShell。 –

+0

不知道什麼'如果NUM1%GEQ%NUM2%%的設定/ A NUM1 =%NUM1%==%NUM2%'有望做的事 - 它會因爲''==不是算術運算符生成語法錯誤。 – Magoo

回答

-1

不確定上批次除非你指殼程序或用於批處理DOS模式shell程序,但是可以用一個原子變量與C++類和重載=,+和 - 操作者使用測試和設定,確保正確地分配它,那麼你可以創建迷你程序來執行你在你的計劃或與%FCT%或fct

1

在這裏,您可以訪問使用eval或系統功能的操作是一個示例,可以幫助:

@echo off 
set max=50 
set num=20 
:loop 
set /p "input=Enter number to add - you now have %num% units: " 
set /a t=num + input 
if %t% LEQ %max% (
     set num=%t% 
) else (
     echo That's too high - %max% is the limit! 
) 
echo %num% 
goto :loop 
相關問題