batch:从命令参数中获取的多个FOR参数

时间:2010-11-26 12:01:59

标签: loops batch-file command-line-arguments

这就是我要做的事情

find.bat:

@echo off
SET for_argument=%1
SET other_argument2=%2
SET other_argument3=%3

FOR %%A IN (%for_argument%) DO (
  echo %%A
  rem do other stuff
)

我想做的是致电

find.bat "1 2 3 4" arg2 arg3

我想用{2}作为单独的参数执行FOR,以便输出

1
2
3
4

但不幸的是,使用此代码输出

"1 2 3 4"
你能帮帮我吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

SET "for_argument=%~1"

所以你进入for参数 a b c d ,但没有引号,这对于FOR循环很重要。 引用的字符串如“a b c d”作为一个标记处理,但 a b c d 分为四个标记,允许的delims为空格“,”“;”或“=”。