2016-08-03 60 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