How to For-Loop and do Math/Arithmetic Operations in Windows/NT
- 时间:2020-09-25 11:32:47
- 分类:网络文摘
- 阅读:97 次
The FizzBuzz is a good example to start learning a programming language – which contains the exercise of using a loop (either for-loop or a while-loop), Arithmetic operations (modulus), using a if-else condition, and finally printing to the console. You might want to exercise defining a function (containing the logics) and call/invoke it.
In Windows/NT batch command (file extension *.bat or *.cmd i.e. *.cmd indicates that the script is not for intended use on 16-bit DOS or older OS – and the *.bat indicates that the batch script can be run on all platforms), it is a bit tricky to do the Arithmetic operations. The following Batch program shows how we can do a for loop, testing if a variable is multiples of 3 or 5, and print something to the console.
@ECHO OFF SETLOCAL ENABLEEXTENSIONS SETLOCAL ENABLEDELAYEDEXPANSION for /L %%i in (1,1,100) do ( set /a mod3=%%i %% 3 set /a mod5=%%i %% 5 @REM mod3and5==0 if mod3 and mod5 set /a mod3and5=!mod3! + !mod5! if "!mod3and5!"=="0" ( echo FizzBuzz ) else ( if "!mod3!"=="0" ( echo Fizz ) else ( if "!mod5!"=="0" ( echo Buzz ) else ( echo %%i ) ) ) ) ENDLOCAL ENDLOCAL
SETLOCAL ENABLEDELAYEDEXPANSION allows windows/NT batch to use variables – which are noted as !variable!. The for /L %%variable(start, stop, step) is a simple for-loop that will increment the variable from start to stop with a step.
The set /a performs some Arithmetic operations where we use %% for integer modules. and finally the if something==something ( do-one-thing ) else ( do-another-thing) performs the if-else check.
Please be noted that there is no Logical AND or OR, thus it will be a bit tricky to emulate this in windows batch. You can always have nested-if checks for AND operator.
if !A!=1 ( if !B!=2 ( echo A=1 and B=2 ) )

Batch File Commands
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:诗词名句鉴赏:公无渡河,公竟渡河。堕河而死,当奈公何! 诗词名句鉴赏:枯鱼过河泣,何时悔复及? 诗词名句鉴赏:文籍虽满腹,不如一囊钱。 勾践灭吴原文及翻译 叔向贺贫原文及翻译 有意义的重阳节作文400字 快乐作文450字 读《朝花夕拾》有感两篇 写人作文我最敬佩的人英语作文 泰山独好作文700字
- 评论列表
-
- 添加评论