将日期和时间附加到批处理日志文件

时间:2018-06-20 09:28:45

标签: date batch-file logging

我有停止运行的批处理脚本,启动Windows服务:

net stop Tomcat6 1>>C:\logs\"%date%"\log.txt 2>&1

但是在此日志中,我仅获得“服务正在停止”和“服务已停止”的信息。如何修改此脚本以将其附加到每个输出消息的前面,以使其具有%date%-%time%?

2 个答案:

答案 0 :(得分:3)

使用for/f循环捕获命令的每一行(您必须在此处重定向STDERR,否则它将丢失)。然后回显日期,时间和捕获的行。

@echo off
setlocal enabledelayedexpansion
(for /f "tokens=*" %%a in ('"net stop Tomcat6 2>&1"') do (
  echo !date!-!time! %%a
))>"C:\logs\%date%\log.txt"

注意:根据您的语言环境设置,您可能必须调整"C:\logs\%date%\log.txt"中的日期字符串以使其成为有效的文件夹\文件名。

答案 1 :(得分:0)

我希望这会对您有所帮助。

@echo off
echo.
echo %date% %time% && net stop service_Name >>%systemdrive%\Log\Logs.txt 2>&1
::ping www.google.com >nul
::For Slow Run,Remove Comments (Remove This line also)
Exit