【发布时间】:2015-01-16 16:06:08
【问题描述】:
我有无限的参数列表 a b c d e f g h.... 我想在批处理文件中运行如下命令:
mybatchfile a b c d e f g h I j k l m n ...
我有一个程序,我想将参数从 d 带到最后。我能做到吗? 我知道 %* 将采用所有参数。我可以通过这种方式排除一些参数吗?
【问题讨论】:
-
在批处理中使用
shift命令 3 次,然后 %1 将匹配您的 d 参数。请参阅此处的示例:ss64.com/nt/shift.html -
但是如何走到最后。如果我在 3 次 SHIFT 后使用 %*,我也会得到完整的列表参数。
-
使用与您必须处理的参数数量一样多的移位命令。如果您不知道数字,请使用 shift until %1=""
-
你也可以使用
shift /n:从第 n 个参数开始,其中 n 可能介于 0 和 8 之间。见stackoverflow.com/a/21546753/381149 -
你能解释清楚吗?例如,我的列表参数是 a b c d e f g h I j k l m n(14 个参数)。我想从 d 到 n。不使用 %5 %6 %7.... 怎么写?我是批处理文件的新手:(