...
for /F %%F in ('dir /B %* 2> nul') do (
...
我在这里尝试的是丢弃命令的错误输出(并循环处理标准输出)。然而,它会抱怨:
2> was unexpected at this time.
有什么方法可以实现这个吗?
...
for /F %%F in ('dir /B %* 2> nul') do (
...
我在这里尝试的是丢弃命令的错误输出(并循环处理标准输出)。然而,它会抱怨:
2> was unexpected at this time.
有什么方法可以实现这个吗?
在这种情况下,您需要像这样转义 > 符号
for /F %%F in ('dir /B %* 2^> nul') do (
我相信你需要在“2”和“>”之间加上分隔符。如果没有这个分隔符,我的dir测试输出仍然会显示在屏幕上。此外,我认为将dir命令的输出发送到null将不会向set提供任何返回数据。
2>
更改为2 >
将重定向标准输出而不是标准错误输出,从而阻止实际目录列表的处理。正如@RGuggisberg所指出的那样,在嵌套命令中必须转义重定向操作符。 - Ansgar Wiechers