批处理 怎么传9个以上的参数
答案:2 悬赏:0 手机版
解决时间 2021-02-02 00:56
- 提问者网友:饥饿走向夜
- 2021-02-01 13:15
批处理 怎么传9个以上的参数
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-02-01 14:33
批处理文件中可引用的参数为%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 命令:更改批处理文件中可替换参数的位置
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
全部回答
- 1楼网友:杯酒困英雄
- 2021-02-01 15:53
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.将 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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯