2016-08-03 59 views
0

我是新手腳本,但在我的工作地點,我發現他們正在使用批處理文件中的以下命令在不同程序的日誌下存儲一個文件中的警告,錯誤和備註: check_log.bat> tlglogs添加日期和時間戳到Powershell導出文件

PS:如果重要的是不同日誌和輸出tlglogs在同一個Windows文件夾中。

我想在每次運行批處理文件時向tlglog添加日期時間戳。你可以讓我知道如何繼續,因爲我不熟悉腳本?我通過Google博士的幫助嘗試了下面的內容,但沒有幫助: check_log.bat> tlglogs_%Date%

感謝您的時間和幫助。非常感謝! 乾杯!

回答

0

在PowerShell中,你可以得到當前的日期如下圖所示:

Get-Date 

你可以將它保存到一個變量,還可以定義返回的日期的格式。

$d = Get-Date -Format "ddMMyyyy" 

因此,這將在類似04082016的格式返回一個日期,並將其保存在其中我們可以使用出口變量$ d。

check_log.bat > "tlglogs_$d" 

這應該做你想做的。

+1

以'yyyy-mm-dd'的順序放置日期,文件將整齊排列成時間順序。 – TessellatingHeckler

+0

感謝Junaid,但是當我運行它時,我得到的輸出爲tlglogs_ $ d,所以$ d由於某種原因未被解析爲實際日期值。 – ramaka

+0

重拍,您是否首先將$ d設置爲當前日期值?如果您只需在終端上鍵入$ d並按回車鍵,它是否會打印日期?如果不是,那麼確保設置$ d = Get-Date -Format「yyyy-mm-dd」,然後運行第二條命令。 – Junaid

0

感謝朱奈德,將在批處理文件下面的代碼爲我工作:

@echo off 

set startDate=%date% 
set startTime=%time% 

set sdy=%startDate:~10% 
set /a sdm=1%startDate:~4,2% - 100 
set /a sdd=1%startDate:~7,2% - 100 
set /a sth=%startTime:~0,2% 
set /a stm=1%startTime:~3,2% - 100 
set /a sts=1%startTime:~6,2% - 100 


check_log.bat *.log > tlglogs%sdy%.%sdm%.%sdd%-%sth%.%stm% 

如果有一個更簡單的方法,請不要讓我知道。再次感謝!

+0

您可以使用該命令創建一個簡單的powershell文件,如前面的答案所示。 – Junaid