【问题标题】:Find all files with the exact extension in Powershell在 Powershell 中查找所有具有确切扩展名的文件
【发布时间】:2021-11-09 12:39:45
【问题描述】:

我正在尝试获取所有以“.asp”结尾的文件,但我也得到了以“.aspx”或“.asp...”结尾的文件:

Get-ChildItem C:\test -Filter *.asp -Recurse | % {$_.FullName}

例如,假设我有一个包含 test1.asp、test2.aspx 和 test3.asp 的目录,如果我执行我的脚本,输出将是:

C:\test\test1.asp
C:\test\test2.aspx
C:\test\test3.asp

但我只想让我得到“test1.asp 和 test3.asp”。 有关信息,我使用 Powershell 2.1。

谁能告诉我如何解决这个问题?

【问题讨论】:

  • 如果这不是错字,您应该紧急更新到受支持的 PowerShell 版本。我在 v5.1 和 v7.1 中进行了尝试,它可以正常工作。
  • 很遗憾我无法切换到其他版本,但感谢您的帮助!
  • 试试Get-ChildItem C:\Temp -Recurse | Where-Object {$_ -Match '\.asp$'} | % {$_.FullName}。 -Filter 的行为方式似乎与ls *.asp 相同,这有点松懈。

标签: powershell powershell-2.0


【解决方案1】:

尝试再检查最后 3 个符号

Get-ChildItem 'C:\test' -Filter '*.asp' -Recurse |
Where {$_.Name.substring($_.Name.length -3, 3)  -Match 'asp'} | % {$_.FullName}

【讨论】:

    猜你喜欢
    • 2012-01-26
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    相关资源
    最近更新 更多