for usebackq令牌不允许我重定向标准错误

时间:2014-10-27 06:07:44

标签: windows batch-file

问题:

我有一个程序将字符串写入标准输出,我需要将其捕获到环境变量中。如果程序遇到任何错误,它会将它们写入标准错误。我不想让错误输出破坏我的环境变量,所以我想将错误消息转发给NUL

以下是错误记录之前的工作原理:

for /f "usebackq tokens=*" %%a
in (`modifyFileVersion.exe %userprofile%\version.txt`)
do set FILE_VERISON=%%a

以下是我想要完成的事情:

for /f "usebackq tokens=*" %%a
in (`modifyFileVersion.exe %userprofile%\version.txt 2>NUL`)  <-- addition of 2>NUL
do set FILE_VERISON=%%a

以下是错误:

2> was unexpected at this time.

我的理解是,后备标记允许您执行命令,而不是指向文件或字符串。我需要帮助纠正我的语法,或者努力完成同样的事情。

1 个答案:

答案 0 :(得分:2)

使用此选项 - 您需要转义for命令尾部的某些字符。

2^>nul