中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 09:53
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于bat的set命令
可打印版本  902 / 1
第1楼 hankee 发表于 2007-02-11 09:43
初级用户 发帖 10 积分 36
关于bat的set命令
@echo off
setlocal enabledelayedexpansion
set b=\-/-
:b
for /l %%i in (0,1,32) do call :a %%i
cls
goto :b
:a
set/a a=%1%%4
set/p=!b:~%a%,1!<nul
ping/n 2 127.1>nul
goto :eof
倒数三四两行如何解释?(我以前没见过这种写法)知道的说下,谢谢

[ Last edited by hankee on 2007-2-11 at 08:54 PM ]
第2楼 slore 发表于 2007-02-11 10:00
铂金会员 发帖 2,478 积分 5,212
set/a a=%1%%4
%1是a 的参数,从上面看call :a %%i
%1就是0~32

%%4就是除4去余数~所以返回是0,1,2,3

a现在是0,1,2,3
set/p=!b:~%a%,1!<nul

/p是输入的意思,输入: 从b的a+1个字符开始1个字符,那么就是
0 1 2 3分别对应\ - / -




ping/n 2 127.1>nul
延时2秒钟
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023