首页 文章

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

提问于
浏览
4

我正在尝试创建一个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 回答

  • 3

    您只需使用带有 -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)
    

相关问题