gpt4 book ai didi

powershell - 如何只显示双扩展名文件而不显示所有文件?

转载 作者:行者123 更新时间:2023-12-04 01:05:28 30 4
gpt4 key购买 nike

我正在尝试运行一个脚本,该脚本将显示具有双扩展名的文件,但问题是它显示了所有文件,而不仅仅是具有双扩展名的文件。有没有办法做到这一点?

这是我所拥有的:

Get-ChildItem -Path C:\Users\User\Downloads -filter *.txt.* -Recurse

这将显示所有 txt 文件以及带有额外 .txt (test.txt.txt) 的文件,所以我试图只显示双 txt 扩展名。

希望我已经正确解释了这一点。

谢谢

最佳答案

寻找官方文档,因为 MSDN 上没有关于 Get-ChildItem 的具体内容。在这一点上。 mklement0 links to an answer that covers this如果你把它放到路径中,你会得到你正在寻找的结果。

Get-ChildItem -Path "C:\Users\User\Downloads\*.txt.*"

这可能比 -Filter 慢但它会得到你想要的东西并且递归地工作(在 PowerShell v3.0+ 中)。不过,这仅涵盖了 txt 文件。如果您想归档所有重复/重复的扩展文件,您可以对 Get-ChildItem 进行后期处理。与 where条款。
Get-ChildItem -Path "C:\Users\User\Downloads" -Recurse -File | 
Where-Object{$_.Extension -and $_.BaseName -match "$([regex]::Escape($_.Extension))$"}

该子句匹配的文件
  • 有分机和
  • 名称(不带扩展名)的末尾具有相同的扩展名。 $_.Extension例如,将返回“.txt”。 -match支持正则表达式,所以我们需要避开那个时期以确保没有误报。
  • -File参数绝对是PS v3.0的一部分。这将返回在其全名末尾具有双扩展名的所有文件。尾随 $ PowerShell 不会将其解释为任何特殊内容,因为它后面没有任何会被混淆为变量的字符。你可以逃脱 `$ ,但这只是为了提醒您美元符号的用途。在这种情况下,此处反引号的存在不会改变结果。

    关于powershell - 如何只显示双扩展名文件而不显示所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42424644/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com