问题:
我有一个程序将字符串写入标准输出,我需要将其捕获到环境变量中。如果程序遇到任何错误,它会将它们写入标准错误。我不想让错误输出破坏我的环境变量,所以我想将错误消息转发给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.
我的理解是,后备标记允许您执行命令,而不是指向文件或字符串。我需要帮助纠正我的语法,或者努力完成同样的事情。
答案 0 :(得分:2)
使用此选项 - 您需要转义for
命令尾部的某些字符。
2^>nul