中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 15:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求问下在SET /A中的两个%号的意思 查看 935 回复 5
楼 主 求问下在SET /A中的两个%号的意思 发表于 2006-12-14 02:17 ·  中国 山西 太原 电信
初级用户
积分 56
发帖 22
注册 2006-12-13 10:54
19年会员
UID 73399
性别 男
状态 离线
请问下在批处理中
SETLOCAL ENABLEDELAYEDEXPANSION后
出现
SET /A PP=%RANDOM%%%85
请问下%RANDOM%后面两个百分号代表什么意思!

[ Last edited by namejm on 2006-12-13 at 10:01 PM ]
2 发表于 2006-12-14 02:21 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
%RANDOM%除85后的余数
命令行使用“%”,批处理里面使用“%%”
3 发表于 2006-12-14 02:44 ·  中国 山西 太原 电信
初级用户
积分 56
发帖 22
注册 2006-12-13 10:54
19年会员
UID 73399
性别 男
状态 离线
谢谢!但完全可以使用/号来表示除啊,为什么还要用两个百分号呢??不解?

[ Last edited by fbwolf on 2006-12-14 at 02:45 AM ]
4 发表于 2006-12-14 02:54 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  SET /A PP=%RANDOM%%%85 表示取余操作,也就是数学上所说的模运算,虽然和除法有关系,但是和除法不是一回事。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
5 发表于 2006-12-14 02:56 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
%:余
/:除

在批处理内使用要用两个%%,这是批处理决定的,正如“for /f %%n in (*) do echo %%n”里的%%n一样
6 发表于 2006-12-14 03:05 ·  中国 山西 太原 电信
初级用户
积分 56
发帖 22
注册 2006-12-13 10:54
19年会员
UID 73399
性别 男
状态 离线
呵呵,明白了,谢谢,

[ Last edited by fbwolf on 2006-12-14 at 03:14 AM ]
论坛跳转: