Stap 3: Stel commando - Mr.Math (2/4)
OFFSET Test=1ECHO %Test%SET Test=%Test%-1ECHO %Test%PAUSE
Ach, wat is er gebeurd? Dat moet hebben gewerkt! Wacht een minuut... wat was dat over SET opdrachten die alleen tekenreeksen maken?
Ja. De opdracht SET vanzelf ontstaat alleen een stringvariabele, wat betekent dat het zal maken de meest letterlijke interpretatie van de waarde.
Het niet denken aan '1-1' evenaren '0', het denkt van "1-1" gelijk is aan "1-1."
Dus hoe kunnen we dat wijzigen?
Wij willen dat de variabele niet te worden rechtstreeks gekopieerd, maar geëvalueerd. Dit betekent dat we willen veranderen van een string in een expressie! Een zeer eenvoudig wijzigen, gewoon een /a toevoegen aan de SET opdracht.
Hier is een simpel batch-bestand om het te zien in actie, of kunt u deze gewoon typen naar de troepenleiding Prompt handleiding. Ik stel voor dat de laatste; het is veel sneller, en de code niet te ingewikkeld, maar als je echt de batch-bestand wilt, hier is het:
OFFSET /a Test=2+2ECHO %Test%PAUSE
Fantastisch! Hij spreekt het perfect. Nu weten we wat wijzigingen moeten worden aangebracht in onze 'math test.bat'
OFFSET /a Test=1ECHO %Test%SET /a Test=%Test%-1ECHO %Test%PAUSE
OK. Dus laten we draaien!
Geweldig! Het werkte perfect! Maar wat nu?