lh.apps
Goto Top

Rechnen mit Variablen - Batch Programmierung

Bei folgendem Code gibt er immer mehrere Ergebnisse oder "ECHO ist ausgeschaltet (OFF)." aus:

set /a z="%geld%"-10  
cls > geld.txt
echo %z% > geld.txt 


Optimierungsvorschläge?

PS: Für die Variable %geld% können verschiedene Zahlen eingesetzt werden!

Content-Key: 359245

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

Printed on: April 19, 2024 at 05:04 o'clock

Member: rubberman
Solution rubberman Dec 26, 2017 at 16:09:12 (UTC)
Goto Top
set /a "z=geld-10"  
>"geld.txt" echo(%z%  

Steffen
Member: LH.Apps
LH.Apps Dec 26, 2017 at 16:15:47 (UTC)
Goto Top
Erst einmal vielen Dank für Ihre schnelle Rückmeldung!

Leider funktioniert der folgende Code immer noch nicht (nur jedes zweite Mal wird komischerweise das Ergebnis richtig angezeigt?!).

set /a "z=%geld%-10"   
cls > geld.txt
>"geld.txt" echo %z%  
Member: Penny.Cilin
Solution Penny.Cilin Dec 26, 2017 at 16:27:29 (UTC)
Goto Top
Zitat von @LH.Apps:

Erst einmal vielen Dank für Ihre schnelle Rückmeldung!

Leider funktioniert der folgende Code immer noch nicht (nur jedes zweite Mal wird komischerweise das Ergebnis richtig angezeigt?!).
Hallo,

hast mal die Antwort von @rubberman gelesen / verstanden / getestet?

> set /a "z=%geld%-10"   
> cls > geld.txt
>>"geld.txt" echo %z%  
> 
Warum postest Du jetzt wieder Deinen Code?

Gruss Penny
Member: rubberman
Solution rubberman Dec 26, 2017 at 16:39:14 (UTC)
Goto Top
Aus deinen 3 Zeilen lässt sich leider nicht mehr ableiten. Stehen sie in einem in Klammern eingefassten Block (FOR Schleife, IF Statement, ...). Etwas mehr Kontext bitte, sonst ist dir nicht zu helfen.

Steffen
Member: LH.Apps
LH.Apps Dec 26, 2017 at 16:45:08 (UTC)
Goto Top
Vielen Dank! Tut mir Leid, hatte gerade irgendwie nen Brett vorm Kopf! Danke an euch beide!
Member: LH.Apps
LH.Apps Dec 26, 2017 at 16:46:22 (UTC)
Goto Top
PS: Stehen in einem IF-Statement! Aber hat sich gelöst... Danke
Member: rubberman
rubberman Dec 26, 2017 at 17:29:22 (UTC)
Goto Top
Zitat von @LH.Apps:

PS: Stehen in einem IF-Statement!

Dann sind geänderte Variablenwerte nicht ad hoc abgreifbar. Zwei Möglichkeiten:
set /a "z=geld-10"  
>"geld.txt" call echo(%%z%%  
oder
set /a "z=geld-10"  
setlocal EnableDelayedExpansion
>"geld.txt" echo(!z!  
endlocal
Steffen