[英]Add timestamp to log lines from batch output
我有一个计划运行的简单批处理文件,基本上只是将远程网络共享备份到我的计算机。
@ECHO OFF
xcopy \\10.8.0.1\share\ E:\backup\ /c /s /r /d /y /i >> E:\backup\backup.log
日志中的输出如下所示:
\\10.8.0.1\share\test.txt
1 File(s) copied
\\10.8.0.1\share\New Microsoft Word Document.docx
1 File(s) copied
基本上我只想为每个日志条目添加日期和时间戳。 我该怎么做呢?
您可以将DATE%和%TIME%回显给backup.log。
echo %DATE% %TIME% >> E:\backup\backup.log
这可能是最简单的。
您还可以使用robocopy进行更丰富的日志记录选项。
您正在寻找标准变量%date%
和%time%
。
您可以将命令输出的行作为带有for循环的单行传递到它们之间
@echo off
for /f "delims=" %%i in ('xcopy \\10.8.0.1\share\ E:\backup\ /c /s /r /d /y /i') do (
echo [%date%, %time%] %%i >> E:\backup\backup.log
)
简短说明:循环将命令的输出拆分为单行。 对于每一行,程序然后回显时间戳并在输出的一行之后。 然后它会为xcopy
命令返回的每一行重复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.