Rechnen in Batch?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Da würde sich ein kleines Skript ganz gut machen:

@echo off
:MAIN
set /p "rechnung= Rechnung eingeben: "
set "rechnung=%rechnung:Wurzel(=Math.sqrt(%"
echo WScript.Echo(%rechnung%); > %temp%\calc.js
for /f %%a in ('cscript //nologo %temp%\calc.js') do set ergebnis=%%a

echo Das Ergebnis ist %ergebnis%
echo.
goto MAIN

Und mithilfe dieses Skripts lässt sich dann auch eine Tabelle zu verschiedenen x und y Werten einer Gleichung relativ leicht umsetzten.

Was ich hier mit Wurzel (>zu squareroot) bereits angefangen hab lässt sich auch mit sinus cosinus log etc umsetzten.


arbnor89  01.06.2017, 22:39

Seit wann kann man bei Batch Script WScript.Echo benutzen?

0
timlg07  02.06.2017, 12:25
@arbnor89

geht seit Windows 95, standardmäßig ab Windows 98.

1

Mit "SET /A" kannst Du nur die einfachen Integer-Operationen +, -, *, ^, / (nur Ganzzahl-Ergebnis), % (Modulo), ! (Negation) ausführen. Aber Du kannst auch mit Variablen arbeiten:

>set /a blob=12
12
>set /a blob*=3
36
>set /a blob=(blob/4)
9
>set /a blob+=((blob^2)%7)*2
17

Ansonsten bleibt Dir nur VBScript oder ein 3rd-Party-Inline-Calculator. Da musst Du aber selbst mal googeln. Irgend jemand wird das bestimmt schon programmiert haben, da es unter Linux ein alter Hut ist.

Es ist mir immer ein Rätsel warum die Leute komplexe Aufgaben mit batch machen, wenn doch Visual Basic Script auch von Windows mitgebracht wird.

Kuckst Du meine Antwort hier:

https://www.gutefrage.net/frage/wie-kann-ich-in-batch-zeichen-aus-einer-variable-nehmen?foundIn=list-answers-by-user#answer-249083252


timlg07  02.06.2017, 12:28

Und was hat das damit zu tun? Da fand ich meine Antworten auf beide Fragen deutlich nützlicher...

0