回复 4# 00JTR00
批处理文件中, 单个的 % 首先会尝试 参数扩展变量(%0 到 %9)的解析, 如果解析失败, % 会被忽略
当有两个连续时: %% , 如果在 for 语句中, 首先会尝试 解析为 for 变量(%% 后接一个), 否则, 会被当作 一个 %
在 set /a 后面表达式中时, 如果要当作 求余运算符, 那么 用 %% , 并且后面不要紧接字母, 以免与 for 变量混淆, 单个的 % 会被忽略
测试批处理代码- @echo off
- echo %
- echo %0
- echo %1
- echo %a
- echo %%
- echo %%a
- echo %%0
- echo %%1
-
- for %%a in (x) do (
- echo %%0
- echo %%a
- echo %%b
- )
-
- set a=6
- set /a re = 15 %% a
- set re
-
- for %%a in (x) do (
- set /a re = 15 %%a
- )
- set re
-
- echo on
- set /a dd = 15 %%4
- set dd
-
- set /a ee = 15 % 4
- set ee
-
- pause
复制代码
|