Powershell get-content where-object

时间:2016-10-18 09:47:00

标签: powershell

早上,我是Windows PowerShell世界的新手,并想知道是否有人可以提供以下建议。 我正在搜索某个文本字符串的txt文件。

Get-Content -Path "filepath" | Where-Object {
  $_ -like '*string*'
} | Out-File c:\output.txt

这对我来说还可以,但是我想要变得更聪明一点,只能在特定的日子里拉回字符串。 我试过使用以下

Get-Content -Path "filepath" | Where-Object {
  $_ -like Get-Date -DisplayHint Date -UFormat "%d/%m/%y" + '*string*'
} | Out-File c:\output.txt

文本文件中的行总是以该格式的日期开头,但是我需要检查同一行中的字符串吗?

2 个答案:

答案 0 :(得分:1)

您需要将Get-Date放在括号中:

Get-Content -Path "filepath" | Where-Object {
  $_ -like (Get-Date -DisplayHint Date -UFormat "%d/%m/%y") + '*string*'
} | Out-File c:\output.txt

答案 1 :(得分:0)

所以,经过多次尝试,我注意到我查询的文件的日期格式为MM / dd / yyyy格式,所以这就是为什么我没找到任何东西。

此外,我还需要寻找前一天,所以增加了一点。

略微调整并立即行动

get-content -path“文本文件的位置”| where-object {$ _ -like(“{0:MM / dd / yyyy}” - f(get-date).AddDays(-1))+' Sqlserver '} |文件外文件名

感谢大家的帮助