![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 05:22 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 连续百分号的问题 |
| 可打印版本 930 / 4 |
| 第1楼 nayezi | 发表于 2007-10-20 17:44 |
| 初级用户 发帖 20 积分 48 | |
|
连续百分号的问题 @echo ┌────────────────────────────────────────────┐
@echo │ %a% %b%%%%space% @echo └────────────────────────────────────────────┘ @echo off 这是我随便截取的一个进度条的代码片断,刚学批处理不久,看到很多地方出现连续%(我指的是多于2个)。请问连续百分号具体有什么用法?在论坛里找也只能找到下列关于百分号用法的说明: ① 两个连续的%表示在预处理中脱为一个%。 ② 批处理中,在for语句的in子句之前,连续两个%紧跟一个字符(可以是字母、数字和一些特定字符),表示指定一个循环或者遍历指标变量。 ③ 批处理中,在for语句中,使用与in之前指定的指标变量相同的串,表示引用这个指标变量。 第二点和第三点我都懂,难道我提到的问题和第一点相关?请高手帮忙解答,最好有例子。 [ Last edited by nayezi on 2007-10-20 at 06:00 PM ] |
|
| 第2楼 fastslz | 发表于 2007-10-20 18:47 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
@echo off
set 一=1 set 二=2 set 三=3 echo %一%%二%%三% echo 当前系统目录%windir% pause |
|
| 第3楼 nayezi | 发表于 2007-10-20 19:27 |
| 初级用户 发帖 20 积分 48 | |
|
楼上误会了,我说的是连续的,你举这个例子我能看懂。但还是谢谢,还请大家帮忙解答下。相关代码我一时半会也找不到,我说的连续百分号是形如%%%%%a%这样的情况!
|
|
| 第4楼 nayezi | 发表于 2007-10-20 19:33 |
| 初级用户 发帖 20 积分 48 | |
|
如求硬盘剩余空间BAT代码:
@echo off setlocal enabledelayedexpansion :Main cls set /a num2=1024*1024 for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do ( set num1=0 set num3_str= set num4= for /f "tokens=3" %%j in ('dir /-c %%i:\ 2^>nul') do set num1=%%j if not "!num1!"=="0" ( call :loop for /f "delims=0 tokens=*" %%k in ("!num3_str!") do set num3_str=%%k echo. echo %%i 盘剩余空间为 !num3_str! MB echo. ) ) pause goto Main :loop :: 求商 set /a num3=%num4%%num1:~0,1%/%num2% :: 求商序列 set num3_str=%num3_str%%num3% :: 求余 set /a num4=%num4%%num1:~0,1%%%%num2% if %num4% equ 0 set num4= set num1=%num1:~1% if not "%num1%"=="" goto loop goto :eof 求余跳转里出现的%num4%%num1:~0,1%%%%num2%里包含4个连续百分号。请高手解释下连续百分号用法。这个例子有点牵强,但却代表了我的疑惑。 |
|
| 第5楼 fastslz | 发表于 2007-10-20 22:18 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
@echo off
set /a a=100+20% echo 算术题100+20%%=%a%对吗? pause 看这个例子 绿的%是算术运算符 红的%是传递下一个%为显示符号 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |