3

现在我有一个脚本可以获取目录中的最后五个文件。它看起来像这样:

$diffs = Get-ChildItem "C:\usr\local\work\tnl\Database\ReleaseScripts" -Filter "*.sql" | Sort-Object Name -Descending | Select-Object -first 5 | Sort-Object Name

我需要让它选择以某个文件开头的所有最后文件。例如,如果文件被命名

201.txt
202.txt
203.txt
204.txt
最多
210.txt

我可能需要选择所有以 203.txt 开头的文件到列表的末尾。

我可以得到我正在寻找的文件名并在脚本中使用它。我只是不熟悉我必须这样做的脚本工具。有没有办法编辑我的行以使其仅在一行中执行此操作,还是我必须将其放入循环中才能获得结果?

4

1 回答 1

4

这是可行的,但如果您的文件名结构更复杂,或者您的原始过滤器有可能抓取不符合要求的文件名,则需要扩展。

$diffs = Get-ChildItem "C:\usr\local\work\tnl\Database\ReleaseScripts" -Filter "*.sql" |?
{[Int][System.Text.RegularExpressions.Regex]::match($_.name,"\d+").Value -gt 201 }| 
Sort-Object Name -Descending | Select-Object -first 5 | Sort-Object Name
于 2012-06-11T21:01:28.880 回答