我有一个计划运行的简单批处理文件,基本上只是将远程网络共享备份到我的计算机。
@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
基本上我只想为每个日志条目添加日期和时间戳。我该怎么做呢?
答案 0 :(得分:7)
您可以将DATE%和%TIME%回显给backup.log。
echo %DATE% %TIME% >> E:\backup\backup.log
这可能是最简单的。
您还可以使用robocopy进行更丰富的日志记录选项。
答案 1 :(得分:3)
您正在寻找标准变量%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
命令返回的每一行重复。