我在Windows批处理文件中有以下内容
my_app < "%%PARAMETER_FOR_APP"
应用程序成功执行,并向控制台输出三行。
我想捕获该输出,以便能够将其保存到日志文件中。
我正在尝试这个:
set LOG_FILE_NAME = mylog.log
my_app < "%%PARAMETER_FOR_APP" > COMMAND_OUTPUT
echo %COMMAND_OUTPUT%
echo %COMMAND_OUTPUT% >> %LOG_FILE_NAME%
我期待创建一个变量COMMAND_OUTPUT
,然后我可以使用eccho命令。但是,在文件系统上创建了空文件,COMMAND_OUTPUT
。
这样做的正确方法是什么?
答案 0 :(得分:0)
FOR /F是在批处理文件中获取命令输出的标准方法。
在您的情况下,您还需要使用^
for /f "tokens=* delims=" %%# in ('my_app ^< "%%PARAMETER_FOR_APP" ') do set "COMMAND_OUTPUT=%%#"
试试这个。