我试图使用“call”方法在批处理文件中调用命令,无论该命令的输出是什么,我想写入一个文件。 我从this link开始,但找不到答案。
我正在使用此命令
call %confPath% GetIniString %datFile% Keyname name >%newFile% >&1
但它总是创建一个空文件。如何在文件中写出上述命令的输出?
提前致谢。
答案 0 :(得分:1)
>%newFile%
将标准输出重定向到文件。在>&1
中,1
代表标准输出,如果没有指定流,则标准输出是默认值,因此>&1
重定向自身,尽管它已经使用第一个命令重定向。所以,这是非法的,根本不应该生成文件。在我的测试中,这只是在错误消息中止。
通常的习语2>&1
,OTOH,将标准错误的流2重定向到标准输出,这可确保输出和错误消息都以文件结尾。