我如何从这一行中提取日期和时间?

时间:2015-06-09 14:51:33

标签: powershell

如何从此日志文件行中提取日期和时间?原文是:

Build started 6/4/2015 11:25:47 AM.

这段代码让我大部分时间:

$x = (Get-Content C:\Users\myusername\Documents\SQLScripts\TestLogs\Lab1.log)[0]
"'" + $x.SubString($x.IndexOf(' ')+1, ($x.LastIndexOf(' ')-$x.IndexOf(' '))-1) + "'"

但我的输出仍然包括“已开始”

'started 6/4/2015 11:25:47'

我似乎不知道如何正确使用IndexOf命令。

1 个答案:

答案 0 :(得分:1)

我建议使用-match,您可以从:

开始
type "log.txt" `
  | where { $_ -match "([0-9]+/[0-9]+/[0-9]+ [0-9]+:[0-9]+:[0-9]+ (AM|PM))" } `
  | foreach { $matches[0] }