永发信息网

批处理 怎么传9个以上的参数

答案:2  悬赏:0  手机版
解决时间 2021-02-02 00:56
批处理 怎么传9个以上的参数
最佳答案
批处理文件中可引用的参数为%0~%9, %0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift命令可以帮你实现。
Shift 命令:更改批处理文件中可替换参数的位置
shift [/n] 
shift [/n]n
的取值是[0,8],且为整数;[/n]为可选参数,当赋予n某个值时,就意味着命令从第n个参数开始移位;当n赋予的值为0,1或不带有任何命令选项的
shift时,则表示批处理文件中替换参数左移一个位置,后面的替换参数陆续填补上去,直至可替换参数为空。
创建批处理文件d: est.bat
@echo off   
cls   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /0   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /1   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /2   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /3   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /4   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /5   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /6   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /7   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
shift /8   
echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   
pause 1>nul  
@echo
 offclsecho %1 %2 %3 %4 %5 %6 %7 %8 %9shift /0echo %1 %2 %3 %4 %5 %6 %7 
%8 %9shift /1echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /2echo %1 %2 %3 %4 %5 
%6 %7 %8 %9shift /3echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /4echo %1 %2 %3 
%4 %5 %6 %7 %8 %9shift /5echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /6echo %1 
%2 %3 %4 %5 %6 %7 %8 %9shift /7echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift 
/8echo %1 %2 %3 %4 %5 %6 %7 %8 %9pause 1>nul然后在命令提示符d:下输入test 1 2 3 4 ......17显示执行结果,就知晓其中的规律啦!C代码
D:>test 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  

1 2 3 4 5 6 7 8 9  
2 3 4 5 6 7 8 9 10  
3 4 5 6 7 8 9 10 11  
3 5 6 7 8 9 10 11 12  
3 5 7 8 9 10 11 12 13  
3 5 7 9 10 11 12 13 14  
3 5 7 9 11 12 13 14 15  
3 5 7 9 11 13 14 15 16  
3 5 7 9 11 13 15 16 17  
3 5 7 9 11 13 15 17

全部回答
Shift:更改批处理文件中批处理参数的位置。
语法:
1.将 shift 命令行选项与命令扩展一起使用
启用命令扩展(默认设置)后,shift 命令支持 /n 命令行选项,该选项通知命令在第 n
个参数处开始更改,n 可以是 0 到 8 的任何一个值。例如,SHIFT /2可以将 %3 改为 %2,将 %4 改为 %3 等等,而 %0 和 %1 保持不变。
2.shift 命令的工作原理
shift 命令通过将每个参数复制到前一个参数中,更改批处理参数 %0 到 %9 的值。也就是说,将 %1 的值复制到 %0,%2 的值复制到 %1,依次类推。该命令在撰写对任何数目的参数执行相同操作的批处理文件时非常有用。
3.使用 10 个以上的批处理参数
也可以使用 shift 命令创建可以接受 10 个以上批处理参数的批处理文件。如果在命令行上指定了 10 个以上的参数,第十个 (%9) 参数之后的参数将更改为 %9,一次更改一个。将 %* 与 shift 一起使用 Shift 对 %* 批处理参数没有影响。
4.恢复参数
没有反向的 shift 命令。执行了 shift 命令后,不能恢复更改前存在的第一个批处理参数 (%0)。
范例
以下批处理文件 Mycopy.bat 显示了如何使用包含任意数目批处理参数的 shift 命令。该批处理文件将一列文件复制到特定的目录。批处理参数由目录和文件名参数表示。
@echo off
rem MYCOPY.BAT copies any number of files
rem to a directory.
rem The command uses the following syntax:
rem mycopy dir file1 file2 ...
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo All done
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
哥特式悲伤 是什么意思?
31abc有哪些好的课程,如何划分不同英语等级
田斌微汽农用车电器配件修理地址在什么地方,
一朋友他用自己的户头帮别人向银行贷款,现在
国防文学的意思是什么啊?知道的请说下!
曹操献刀
VS 浦发银行总行科技岗,现在不知道去哪个比
汽车车门灯亮车锁不上是怎么处理?
海鹰汽配地址有知道的么?有点事想过去
女子十二乐坊拉过的小提琴曲名
奔驰gl350有固障码5170是什么
1.l've got a present for Mum and Dad.哪错
远曲小管是什么
张北县世民轮胎经销处地址好找么,我有些事要
携步的意思是什么啊?知道的请说下!
推荐资讯
哪个晓得成都购房贷款利率是多少
没有工商执照税务局有权找我吗
西就村地址有知道的么?有点事想过去
听说银行卡可以充值苏州市民卡,我在ATM机上
与“穿”相近的动词
360奇酷手机怎么关闭后台程序
太仓燕舞宾馆地址有知道的么?有点事想过去
延爱婚纱摄影(海城店)地址在什么地方,想过去
求爱奇艺会员激活码
森肽基是什么啊?
枣强顺发汽贸有限公司地址有知道的么?有点事
现在天凉了和面太硬怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?