![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 21:48 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » call调用标签段时的参数传递该如何理解? |
| 可打印版本 1,443 / 5 |
| 第1楼 pcl83 | 发表于 2006-10-06 10:25 |
| 初级用户 发帖 13 积分 32 | |
|
call调用标签段时的参数传递该如何理解? 以下是版主3742668写的有关排序的批处理,小的新手,有些看不明白,望指点。
------------------------------------------------------- @echo off setlocal enabledelayedexpansion set numbers=%random% %random% %random% %random% %random% %random% %random% %random% echo 排序前数组为: %numbers% call :sort %numbers% echo 排序后数组为: %ret% pause goto :eof :sort set num=%1 set str=%* for %%i in (%*) do if !num! gtr %%i set num=%%i set ret=%ret% %num% if not "!str:%num%=!" == "" call :sort !str:%num%=! goto :eof -------------------------------------------------- 1、set num=%1这一句为什么只是把%1的头一个数字传给num; 比如%numbers%为:12 23 24 23 25 23 20 10 但是set num=%1却变成12呢? 2、%*是什么意思 ──────────────── 版务记录 ──────────────── 执行:namejm 原标题:求助! 现标题:call调用标签段时的参数传递该如何理解? 说明:因原标题过于模糊,不便于论坛的搜索和管理,在本提示发表三日之后, 楼主尚未更改标题,现由本人强制修改标题,并扣除楼主4点积分。 ──────────────── 版务记录 ──────────────── [ Last edited by namejm on 2006-10-19 at 00:57 ] |
|
| 第2楼 pcl83 | 发表于 2006-10-06 11:57 |
| 初级用户 发帖 13 积分 32 | |
|
请问各位高手,%*的意思是不是和tokens=*里的*一样也是忽略空格啊?!
|
|
| 第3楼 3742668 | 发表于 2006-10-06 12:26 |
| 荣誉版主 发帖 718 积分 2,013 | |
:sort 简单地自己试一下就知道了,哪儿看不明白就在哪儿用pause。 %*用在这里只是代表所有参数,还是和通配符的作用类似。 另外建议你修改一下标题。例如:关于%*的用法。 |
|
| 第4楼 220110 | 发表于 2006-10-06 12:41 |
| 荣誉版主 发帖 313 积分 718 | |
|
A:
1. call :sort %numbers% 就是 call :sort 12 23 24 23 25 23 20 10 对应 call %0 %1 %2 %3 %4 %5 %6 %7 %8 所以 set num=%1却变成12. 2. %* 是所有参数(不包括 %0)可引用的通配符,这些参数(整体)传递到批处理文件中。 %* 编辑符是唯一可代表在批处理文件中传递的所有参数的编辑符。 %* = %1 %2 %3 %4 %5 %6 %7 %8 %9 |
|
| 第5楼 31676201 | 发表于 2006-12-04 13:04 |
| 新手上路 发帖 9 积分 19 | |
|
DOS,代表着自由开放与发展,我们努力起來,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
|
|
| 第6楼 fllwt | 发表于 2007-12-15 19:31 |
| 新手上路 发帖 2 积分 4 | |
|
很好的 又学会了点东东^_^
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |