注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

解决批处理接收9个以上的参数会有遗漏的问题  

2017-04-01 15:21:45|  分类: 操作系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
正常的情况下,我们会在批处理文件中用%0~%9来引用的传递参数,%0就不多说了【是指批处理文件的本身】,%1~%9才是批处理接收的参数,也称形参;正常情况下我们要用如下代码来接收这些参数的。

@echo off

cls
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
pause

执行结果如下:
解决批处理接收9个以上的参数会有遗漏的问题 - sinsunson - 天朝布衣田中码农参上
可以看到成功接受相关参数,但是问题就来了,实际应用中,肯定会有超过9个入参的情况,那这种情况下要如何接收参数。又或者说,在入参数量不定的情况下,又要如何接收参数呢?这时就要用到shift命令了,下面来看下它的具体解释:
Shift 命令:更改批处理文件中可替换参数的位置,shift [/n]n 的取值是[0,8],且为整数;[/n]为可选参数,当赋予n某个值时,就意味着命令从第n个参数开始移位;当n赋予的值为0,1或不带有任何命令选项的 shift时,则表示批处理文件中替换参数左移一个位置,后面的替换参数陆续填补上去,直至可替换参数为空。
嗯,这下可以调整下代码来处理。

@echo off
cls
echo %1
:loop
shift
echo %1
if not "%1"=="" goto :loop
pause

执行效果页面如下【提交的参数是1 2 3 4 5 6 7 8 9 10 11】:
解决批处理接收9个以上的参数会有遗漏的问题 - sinsunson - 天朝布衣田中码农参上
这下可以看到相关的参数都接收到了,而且无论参数有多少个,都不会再有遗漏。
 
  评论这张
 
阅读(2)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018