楼 主
关于shift的使用
发表于 2006-11-12 02:54 · 中国 江苏 无锡 江阴市 电信
新手上路
★
积分 10 发帖 3 注册 2006-09-24 00:25 19年会员 UID 63488
状态 离线
:loop
if errorlevel %1 goto no_shift
:do_shift
set cdrom=%2
shift
shift
if not %1*==* goto loop //怎么理解这行代码
goto no_ramdrive
由于这个批处理有很多的参数,上面两个shift是怎么工作的,是不是第一个将%2的传到%1,第二个是%3传到%2,每次都这样。每次执行就往后面移动。
第 2 楼
发表于 2006-11-12 03:19 · 中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310 发帖 2,044 注册 2005-09-26 12:00 20年会员 UID 42843 性别 男 来自 四川南充
状态 离线
if not %1*==* goto loop //如果%1不是空就跳到loop
shift //更改批处理文件中可替换参数的位置。执行一次就用%2替换%1 ,%3替换%2........
第 3 楼
发表于 2006-11-12 04:05 · 中国 北京 鹏博士BGP
中级用户
★★
积分 404 发帖 179 注册 2006-03-30 14:44 20年会员 UID 53056
状态 离线
这个实例里 出现了2个shift
第一个 把所有参数象前推了一位
第二个 也把所有的参数向前推了一位
%0 = 初始的%2
%1 = 初始的%3
%2 = 初始的%4
第 4 楼
发表于 2006-11-12 06:12 · 中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310 发帖 2,044 注册 2005-09-26 12:00 20年会员 UID 42843 性别 男 来自 四川南充
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正