我正在尝试编写一个带有几个参数的批处理文件,后跟一个或多个可选文件名(可能包括通配符),并在某些时候处理每个可选文件名,但该for
命令一直试图扩展它们,所以即使只是打印它们也行不通。
我检查了帮助 ( for /?
),但似乎没有任何开关可以防止这种情况发生。我尝试使用单引号、双引号和反引号以及/f
,但似乎没有任何效果。
以下命令按预期工作:
> for %i in (foo bar baz) do @echo %i
foo
bar
baz
以下命令不会:
> for %i in (foo bar baz really?) do @echo %i
foo
bar
baz
以下,甚至更少:
> ren > reallyz
The syntax of the command is incorrect.
> dir /b really*
reallyz
> for %i in (foo bar baz really?) do @echo %i
foo
bar
baz
reallyz
有没有办法让 Windows 命令解释器将传递的列表视为字符串,而不是尝试将其解释为文件名通配符?