中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请问shift这个批处理命令的用法?
作者:
标题: [求助]请问shift这个批处理命令的用法? 上一主题 | 下一主题
doslr
初级用户




积分 168
发帖 27
注册 2004-11-3
状态 离线
『楼 主』:  [求助]请问shift这个批处理命令的用法?

我实在弄不懂shift这个命令的用法?? 哪位达人能教我这个shift命令是怎么样用的吗?? 最后能附带一个实例.谢谢!


2004-11-8 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
autoit
系统支持




积分 904
发帖 339
注册 2002-10-10
来自 厦门
状态 离线
『第 2 楼』:  

Changes the position of replaceable parameters in a batch file.SHIFT [/n]If Command Extensions are enabled the SHIFT command supports the /n switch which tells the command to start shifting at the nth argument, where n may be between zero and eight. For example: SHIFT /2would shift %3 to %2, %4 to %3, etc. and leave %0 and %1 unaffected.




2004-11-9 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 3 楼』:  

在DOS的批处理中,只支持%1 - %9这9个命令行参数(%0用来表示命令本身),如果你想让你的批处理支持超过9个的命令行参数,就需要用到shift命令,每运行shift命令一次,命令行参数就左移一位,即%2变成%1,%3变成%2,...,依次类推。一个简单的例子,你建立一个批处理,假设名为tstshift.bat,内容如下: @echo off echo %0 echo %1 %2 %3 %4 %5 %6 %7 %8 %9 echo %1 ::1 shift echo %1 ::2 shift echo %1 ::3 shift echo %1 ::4 shift echo %1 ::5 shift echo %1 ::6 shift echo %1 ::7 shift echo %1 ::8 shift echo %1 ::9 shift echo %1 ::10 shift echo %1 然后运行: tstshift 0 1 2 3 4 5 6 7 8 9 a运行结果如下: D:\>tstshift 0 1 2 3 4 5 6 7 8 9 a tstshift 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9 a上面是所有的shift命令都支持的功能,而2000/xp/2003下的shift功能又新增了一个/n参数,用来指定从第n个参数开始移位。2000/xp/2003下的shift命令的中文帮助为: D:\>shift /? 更改批处理文件中可替换参数的位置。SHIFT [/n]如果命令扩展被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉 命令从第 n 个参数开始移位;n 介于零和八之间。例如: SHIFT /2会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。




偶只喜欢回答那些标题和描述都很清晰的帖子! 如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-11-10 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (653668)  编辑帖子  回复  引用回复
doslr
初级用户




积分 168
发帖 27
注册 2004-11-3
状态 离线
『第 4 楼』:  

谢谢Climbing!!!!


2004-11-12 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: