2016-03-02 44 views
2

如何在批處理文件結果的開頭添加時間戳記?如何在批處理文件結果的開頭添加時間戳記

這裏是我當前的代碼:

set dt=%date:~10,4%%date:~4,2%%date:~7,2% 
set tm=%time:~0,2%%time:~3,2%%time:~6,2% 

ping www.google.com -t -l 1 >PingLog_%dt%-%tm%.txt 

我想要得到的結果是與此類似:

[hh:mm:ss] Reply from 120.89.12.38: bytes=1 time=1ms TTL=59 

回答

2

小編輯,以添加格式:

它的測試,並在這裏工作得很好 - 雖然這臺電腦上的時間格式是24小時制,這使它工作得很好。

@echo off 

setlocal enableDelayedExpansion 
set dt=%date:~10,4%%date:~4,2%%date:~7,2% 
set tm=%time:~0,2%%time:~3,2%%time:~6,2% 


for /l %%# in (1,1,100) do (
    set t=!time:~0,2!:!time:~3,2!:!time:~6,2! 
    for /f "tokens=* delims=" %%# in ('ping www.google.com -t -l 1 -n 1^|find /i "reply"') do (
     echo [!t!] %%# 
    ) 
) 
pause & goto :EOF 
1

你可以嘗試這樣的:

@echo off 
setlocal enableDelayedExpansion 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a 
set datestamp=%dt:~0,8% 
set timestamp=%dt:~8,6% 
set YYYY=%dt:~0,4% 
set MM=%dt:~4,2% 
set DD=%dt:~6,2% 
set HH=%dt:~8,2% 
set Min=%dt:~10,2% 
set Sec=%dt:~12,2% 
set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec% 
echo stamp: "%stamp%" 
echo datestamp: "%datestamp%" 
echo timestamp: "%timestamp%" 
pause 
Set TmpLog=TmpLog.txt 
Set Log=PingLog_%MM%-%DD%-%YYYY%-%HH%-%Min%-%Sec%.txt 
If exist %TmpLog% Del %TmpLog% 
If exist %Log% Del %Log% 
echo %Log% 
(
for /l %%# in (1,1,100) do (
    set t=!time:~0,2!:!time:~3,2!:!time:~6,2! 
    for /f "tokens=* delims=" %%# in ('ping www.google.com -t -l 1 -n 1^|find /i "TTL"') do (
     echo [!t!] %%# 
    ) 
) 
)>>%TmpLog% 
cmd /u /c type %TmpLog% > %Log% 
pause & Start "" %Log% 
+0

謝謝!這接近我所需要的。但是,我們如何能夠以這樣的方式來做到這一點,即在bat文件關閉之前無休止地ping通目標。 – Kei

相關問題