9

我正在尝试制作一个 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*'}
4

1 回答 1

9

您可以通过将正则表达式与运算符一起使用来简化此-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)
于 2014-10-14T16:32:31.487 回答