Powershell - 使用通配符搜索文件名

时间:2014-10-14 16:16:05

标签: variables powershell wildcard get-childitem

我正在尝试创建一个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*'}

1 个答案:

答案 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)