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

 我来答
就烦条0o
2015-12-17 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部

批处理文件中可引用的参数为%0~%9, %0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift命令可以帮你实现。

Shift 命令:更改批处理文件中可替换参数的位置
shift [/n] 
shift [/n]n
的取值是[0,8],且为整数;[/n]为可选参数,当赋予n某个值时,就意味着命令从第n个参数开始移位;当n赋予的值为0,1或不带有任何命令选项的
shift时,则表示批处理文件中替换参数左移一个位置,后面的替换参数陆续填补上去,直至可替换参数为空。

创建批处理文件d:\test.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

万山数据
2024-11-14 广告
实时数仓处理是我们北京万山数据科技有限公司数据处理能力的核心之一。它基于先进的流处理技术,能够实时捕获、处理和分析海量数据,确保数据的时效性和准确性。通过构建高效的实时数据管道,我们能够实现数据的即时入库与查询,为业务决策提供强有力的支持。... 点击进入详情页
本回答由万山数据提供
山上的阿竹
2012-12-07 · TA获得超过463个赞
知道小有建树答主
回答量:513
采纳率:87%
帮助的人:136万
展开全部
不擅长, 但是提供个参考:(使用 shift命令)
http://zhidao.baidu.com/question/349425642.html
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lmy920405
2012-12-07 · TA获得超过1168个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:214万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式