Jos*_*hua 3 windows batch-file cmd.exe
对不起,如果这是一个愚蠢的问题,但我不知道 %% 算术是什么。当我设置a
为 时30 %% 35
,它设置a
为值 30。但是如果我切换数字,它设置a
为值 5。我只是不明白这一点。
@echo off
set /a a=30 %% 35
echo %a%
pause
Run Code Online (Sandbox Code Playgroud)
Jef*_*lin 14
%%
是模运算符 - 也就是说,它执行其左参数除以右参数的整数除法,并返回余数。SS64 onSET
解释了算术SET
命令中所有允许的运算符。
正如@IvanMilyakov 在评论中指出的那样,如果您SET /A ...
直接从命令行而不是在批处理文件中执行 a,则可以使用%
代替%%
; 在批处理文件中,您需要将其加倍以防止将其视为变量转义。
A % B
在提示符处是A %% B
批处理,因为%
符号是特殊的,需要在批处理中“转义”。在%
字符的情况下,转义字符是另一个%
字符。
正如 Jeff Zeitlin 所说,%
or%%
运算符是模运算符,并给出 A 除以 B 后的余数,所以35 % 30
给出 5 因为当你将 35 除以 30 时,你会得到答案 1 和 5 剩下的,你也会得到 5 from 65 % 30
,95 % 30
并且很快。如果 B 大于 A,则结果A % B
始终为 A。这就是30 % 35
返回 30 的原因。
您可以set /a
在提示下尝试操作。试试看set /a 8%7
你会得到什么。你不需要空格。
归档时间: |
|
查看次数: |
1476 次 |
最近记录: |