繁体   English   中英

从批处理输出中添加时间戳到日志行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM