批量文件添加日期&时间到每行输出txt文件的开头

时间:2014-10-03 13:36:01

标签: batch-file

我试图将日期和时间添加到输出txt文件的每一行的开头。到目前为止,我有以下内容;

net use N: "\\19.1.25.101\Media\App\Prod Apps\Retail\Com_Dir" /user:TestDomain\ccupd T35t
Set logfile=C:\Update_Com_Log.txt
Echo.========================================================== >> %logfile%
echo.%Date% %Time% >> %logfile%
xcopy N:\*.* C:\Dir_Com  /D /C /R /I /K /Y >> %logfile%
net use N: /delete

这给了我一个很好的输出;

==========================================================  
03/10/2014 14:20:58.47   
N:\Test.txt  
1 File(s) copied

然而......我希望将日期/时间放在每行的开头,例如;

==========================================================
03/10/2014 14:20:58.47  
03/10/2014 14:20:58.47 N:\Test.txt
03/10/2014 14:20:58.47 1 File(s) copied

我已尝试在xcopy的开头设置%Date %% Time%,但它只是将整行放入日志文件中,例如;

03/10/2014, 14:32:53.11 Xcopy N:\*.* D:\Wyse_Com  /D /C /R /I /K /Y

这显然是错误的......

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

(未测试的)

@ECHO OFF
SETLOCAL
net use N: "\\19.1.25.101\Media\App\Prod Apps\Retail\Com_Dir" /user:TestDomain\ccupd T35t
Set "logfile=C:\Update_Com_Log.txt"
(
Echo.==========================================================
echo.%Date% %Time%
FOR /f "delims=" %%a IN (
  'xcopy N:\*.* C:\Dir_Com  /D /C /R /I /K /Y'
  ) DO ECHO(%DATE% %TIME% %%a
)>"%logfile%"
net use N: /deleteSETLOCAL ENABLEDELAYEDEXPANSION

GOTO :EOF

由于我没有你的源数据,我无法按原样测试。应该工作 - 理论上。

注意:使用>>"%logfile%"附加到现有文件; >"%logfile%"重新创建文件。