我正在尝试创建一个PowerShell脚本,该脚本将在文件夹中搜索包含特定文件掩码的文件名。文件夹中的所有文件都具有*yyyyMd*.txt
。
我制作了一个剧本:
[String]$date = $(get-date -format yyyyMd)
$date1 = $date.ToString
Get-ChildItem C:\Users\pelam\Desktop\DOM | Where-Object {$_.Name -like '*$date1*'}
但这似乎不起作用..
有人可以帮忙吗?似乎问题是日期变量不正确,因为当我硬编码下面的东西时,它起作用:
Get-ChildItem C:\Users\pelam\Desktop\DOM | Where-Object {$_.Name -like '*20141013*'}
答案 0 :(得分:4)
您可以通过使用-match
运算符使用正则表达式来简化此操作:
Get-ChildItem C:\Users\pelam\Desktop\DOM | Where-Object {$_ -match (Get-Date -format yyyyMMdd)
}
如果您使用的是V3或更高版本,则可以进一步简化为:
Get-ChildItem C:\Users\pelam\Desktop\DOM | Where Name -match (Get-Date -format yyyyMMdd)