evilmoe
Goto Top

Batch Rechnen

Hi kann mir bitte wer helfen
hier mein script.

@echo off

set /p a=Zahl 1 ?
set /p b=Zahl 2 ?
:: Bis hier geht ja alles

set/a gesamt=%A%+%B%

:: Hier scheint mein fehler zu sein weil ab hier das kommer weggelassen wird unter
:: set /? steht das das kommer mit 0 erstzt wird
:: wie kann ich das verhindern ?
:: oder gibt es ne alternative zu set /a ?

echo Ergebnis= %gesamt%
pause > nul


Bitte helft mir ich weiss einfach nicht weiter um das ergebnis mit kommerstelle zu kriegen

Content-ID: 21099

Url: https://administrator.de/contentid/21099

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

duddits
duddits 06.12.2005 um 22:43:12 Uhr
Goto Top
Hi,

kenne keine alternative aber würd das mal so ändern:
@echo off

set /p a=Zahl 1:
set /p b=Zahl 2:

set /a gesamt=%a%+%b%

echo Ergebnis ist %gesamt%
pause > nul

dann funktioniert es bei mir. Wenn du die Variabeln groß schreibst dann musst du die auch groß lassen und nicht dann wieder klein.

mfg duddits
der-poet
der-poet 07.12.2005 um 08:32:29 Uhr
Goto Top
wie mein vorreder schon geschrieben hat
auch immer auf die groß und kleinschreibung achten.
bei mir funktioniert es auch so.
grüßle poet
Biber
Biber 07.12.2005 um 12:43:00 Uhr
Goto Top
Moin, EvilMoe,

mit der "Set /a" -Anweisung können IMHO tatsächlich nur ganzzahlige Werte eingegeben/berechnet werden.
Die Tipps oben mit der Klein/Großschreibung sind Dönekens. Der CMD-Interpreter unterscheidet nicht zwischen Klein/Großschreibung bei Variablen (ausgenommen Zählvariablen in FOR..IN..DO-Schleifen).
Für Deinen Zweck gibt es aber bestimmt ein paar Konsolen-Freewareutilies. Ask Dr. Google.

Grüße Biber
EvilMoe
EvilMoe 07.12.2005 um 13:02:48 Uhr
Goto Top
Hi

Also die ersten 2 müsst mich falsch verstanden haben der fehler kann nicht an den variablen liegen. Und was meint ih das es funktioniert ??? wenn ich 5,1 und 1 eingebe kriege ich immernoch 6 angezeigt.

@Biber

kannst du mir sagen nach was ich geanu googlen muss um so etwas zu finden??


aber danke @ all
Biber
Biber 07.12.2005 um 19:36:06 Uhr
Goto Top
@EvilMoe

Aus früheren Zeiten erinnere ich mich daran, dass es schon in DOS-Zeiten ein paar Winz-Utilities gab, die (sinnvoll abgekürzt) "Advanced Set" oder "XSet" oder "calc" hießen, die ein paar Grundrechenfunktionen von der Konsole aus konnten. Bin da aber nicht auf dem Laufenden.

Und ehe Du Dir da Stress machst, brate dir doch ein 5-Zeilen-VBS-Skript zusammen, das Dir auch Zahlen mit Vorkomma/Nachkomma-Stellen zurückgibt.

Für welchen Zweck brauchst Du das denn am CMD-Prompt/im Batch?

Grüße Biber
EvilMoe
EvilMoe 07.12.2005 um 20:45:17 Uhr
Goto Top
Hi

dasnke erstmal für antwort geht ja auf den forum ziemlich fix face-smile

Mhhh werde mal suchen vielleicht finde ich ja noch was für batch. Ich brauche das hauptsächlich um nicht ständig formeln neu einzugeben dann gehts so einfach schneller. Ein problem ist ich kenn mich nicht mit VBS-Skript aus face-sad aber vielleicht gibt gute tutorials oder du kannst mir ja ein bissien helfen
Biber
Biber 07.12.2005 um 21:35:28 Uhr
Goto Top
Na ja, such erst mal... muss ja nicht alles immer wieder neu erfunden werden.

bleibt aber die Frage, wieso Du das am CMD-Prompt brauchst..
Wird mit dem Ergebnis dann als nächstes ein Programm gerufen, das das Ergebnis als Parameter bekommt? Oder was treibst Du da?

Immer neugierig
Biber
EvilMoe
EvilMoe 08.12.2005 um 10:19:39 Uhr
Goto Top
Hi brauche nur die ergebnisse
EvilMoe
EvilMoe 08.12.2005 um 13:37:38 Uhr
Goto Top
Also der benutzer(ich) soll nach den werten gefragt werden. Ich gebe die werte ein bestätige dann soll mir das ergebnis angeziegt werden. So "einafch" soll es sein dachte mit cmd gehts aber wie es aussieht leider doch nicht richtig face-sad naja viellecht hat ja wer ne andre lösung für mich
Biber
Biber 12.12.2005 um 01:19:02 Uhr
Goto Top
Moin EvilMoe,
ich weiß ja nicht, ob Du immer noch am Suchen bist nach einem Minirechner vom Prompt aus.

Ich kann Dir aber natürlich einen schnell zusammengebratenen mitgeben:
::---snipp CalcDemo.bat
@Echo off 
Set "calc=%temp%\calc.vbs"  
 >%calc% echo Set x = WScript.Arguments : out = 0
>>%calc% echo For i = 0 to x.count-1
>>%calc% echo   out = out + x(i)
>>%calc% echo next  
>>%calc% echo WScript.echo out
echo Rufe jetzt: calc mit 345,5 3827,44 0,454 290,4
cscript //nologo %calc% 345,5 3827,44 0,454 290,4
::---snapp CalcDemo.bat
Output am Cmd-Prompt
$cmd$calcdemo
Rufe jetzt: calc mit 345,5 3827,44 0,454 290,4
4463,794
In diesem Bätchelchen werden die oben erwähnten 5-VBS-Zeilen erzeugt und aufgerufen.
Der VBS-Schnipsel addiert alle übergebenen Parameter auf und gibt das Ergebnis aus.

Biber