需要批处理脚本帮助

需要批处理脚本帮助

我已经创建了一个重新启动可执行文件的批处理脚本,我试图让它输出到显示任何错误的日志文件。

我的脚本是

@echo on

timeout /t 03

set logfile=c:\users\administrator\desktop\C4W\Logs\status.log
echo starting system.exe at %date% %time% >> %logfile%
"./system.exe" -connection "sql instance" -model "model number" -username "admin" -password "" -id 2  >> %logfile%

Pause

Exit 0

如您所见,我的可执行文件正在连接到 SQL 实例和 SQL 数据库中的模型。当我运行批处理文件时,屏幕上出现一条错误消息,提示“输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符或填充字符之间的非空格字符”。但我的日志文件没有显示此错误,它只是显示我的可执行文件已运行,并显示日期和时间。我尝试将 & 符号放入 >>& %logfile% 中,但我在 cmd 窗口中看不到错误消息,我的日志也没有显示它。

谁能看到我错在哪里?

答案1

要将命令的错误输出与任何标准输出一起重定向到日志文件,请附加>>logfile.txt 2>>&1到命令中,如下所示:

yourcommand.exe >>logfile.txt 2>>&1

2>>&1语法对于“组合” StdOut 和 SteErr 流以重定向到日志文件是必要的。

更多信息

相关内容