2014-10-03 52 views
0

我試圖將日期和時間添加到輸出txt文件的每一行的開頭。到目前爲止,我有以下;批處理文件將日期和時間添加到每行輸出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 

我試圖把%DATE%%TIME%在XCOPY的開始,但它只是會將整條生產線到日誌文件等;

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

,這顯然是錯誤的...

任何想法嗎?

回答

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%" tto重新創建文件。

+0

完美!謝謝你:)你介意解釋那是如何工作的嗎? – Foxb2328 2014-10-03 14:59:54

+0

將一組語句括起來並將該組中的所有輸出重定向到指定的目標。 'for/f'處理''單引號'命令'的每行輸出。 ''delims =''將整個輸出行分配給變量'%% a'' echo',並且日期和時間 - 應該給你所需的東西。和'echo(' - 好吧,這裏沒有必要,但'echo('如果沒有參數會產生一個換行符,而'echo [space]'會報告'echo' staus(開/關)'' ''在echo中''在括號匹配機制中不起作用。 – Magoo 2014-10-03 15:06:17

+0

那麼簡單嗎?)謝謝! – Foxb2328 2014-10-03 15:39:14

相關問題