重定向Windows系统错误

时间:2011-11-30 23:27:35

标签: windows batch-file cmd

我在批处理脚本中具有以下相应内容:

net localgroup "Cool Usergroup"

这可能会成功,或者可能由于各种原因而失败,包括:

System error 1376 has occurred.

The specified local group does not exist.

System error 5 has occurred.

Access is denied.

问题是我需要查找这些错误代码,但输出不是通过标准输出或标准错误。我试过这个:

net localgroup "Cool Usergroup" 2>&1 > %temp%\myGarbage.txt

但我仍然会在屏幕上显示输出,而不是在文件中。

为了给出更多的上下文,我的原始命令在for循环中运行,我想让它在那里工作,但还有其他问题。

for /f "tokens=*" %i in ( 'net localgroup "Cool Usergroup" 2>&1') do echo out: %i

给了我:

2>&1 was unexpected at this time.

那么,如何使用for循环在批处理脚本中处理这些系统错误?似乎输出没有通过标准错误或标准输出。

2 个答案:

答案 0 :(得分:1)

试试这个,它适用于我的系统:

net localgroup "Cool Usergroup" > %temp%\myGarbage.txt 2>&1

答案 1 :(得分:1)

我正在寻找的只需要一些额外的角色逃脱:

for /f "tokens=*" %i in ('net localgroup ^"Cool Usergroup^" 2^>^&1') do echo out: %i

这样我就可以解析循环中的特定错误消息。保持接受Kamyar的答案,因为他给了我我需要的突破。