获取文件夹中的最新对象(不包括某些字符串)

即插即用

出于问题的考虑,我有一些包含文件的文件夹,其名称如下:

a-001.txt 
a-002.txt
b-001.txt
b-002.txt
d-001.txt
d-002.txt

现在,我使用PowerShell首先对这些文件进行排序,以使列表的顶部是该文件夹中的最新文件:

d-002.txt
b-002.txt
a-001.txt 
a-002.txt
b-001.txt
d-001.txt

编辑:然后,我将X文件的最新数量存储到一个变量中。但是,A如果我已经有一个以A数组开头的X文件,但仍要确保以最新文件结尾,那么我想忽略所有文件开头的文件。即从上方开始,如果在,我将以以下结尾X was 4

d-002.txt
b-002.txt
a-001.txt
b-001.txt

这是一个简单的示例,我正在处理的文件夹包含数千个文件-具有更复杂的命名约定,但逻辑是相同的。如何在PowerShell中处理此问题?

马特

除去您已经解决的所有其他逻辑Sort-ObjectSelect-Object标准,我将介绍以下内容。

Get-ChildItem $somePath | Select-Object *,@{Label="Prefix";Expression={(($_.Name) -Split "-",2)[0]}} | Group-Object prefix | ForEach-Object{
    $_.Group | Select-Object -First 1 -Property Fullname
}

此处发生的是,我们将一个属性添加到Get-ChildItem名为“ Prefix”的输出中现在,您的条件可能会更复杂,但考虑到示例,我认为文件是按名称的内容按第一个“-”之前的名称进行分组的。因此,我们将获取每个文件名并基于此文件名构建其前缀。魔术来自于Group-Object将所有项目分组,然后我们只选择第一个。在您的情况下,这将是最新的X金额。如果您在整合此功能时遇到问题,请告诉我。

除了分组逻辑外,Select-Object在上面的示例中,所有不需要排序的内容都需要存在

供其他读者参考

由于上述代码无法正常工作,OP的实际数据存在问题。我们在聊天中解决了问题,并使用了能够解决OP担忧的相同逻辑。问题和我的答案中的测试数据按预期工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP scandir()但不包括某些文件夹

仅获取不包括文件夹的文件长度

计算文件夹中具有某些字符串的文件数

递归复制文件夹,不包括某些文件夹

如何从带有字符串的文件夹中的模块导入某些内容?

如何删除当前目录子文件夹中存在的特定文件夹中的所有文件(不包括某些文件)?

我想逐行处理文件夹中的每个文件并获取特定的匹配字符串

从选择字符串输出中获取“父文件夹+文件名”

获取文件中所有长度为n的子字符串的计数?(不包括空格)

从Android中的“值”文件夹中获取字符串资源

如何从多个文件夹中删除文件,不包括几个文件夹?

regex:获取值href =“”(不包括字符串)

使用 VBA,如何从路径字符串中获取直接父文件夹名称?

从Web服务器的受保护文件夹中获取字符串

VBA根据字符串名称从文件夹中获取图片。包含通配符

读取文件夹中的所有JSON并获取其字符串

Shell命令到tar目录,不包括某些文件/文件夹

存在使用cp复制整个文件夹(不包括某些文件)的某种方法吗?

Linux上的完整tar备份,不包括某些根文件夹

htaccess维护重定向,但不包括某些文件夹(hostgator多站点计划)

使用Java压缩文件夹,但不包括某些子目录

从字符串列表中获取文件夹名称

MySQL中的聚合表,不包括字符串

PHP中的字符串不包括$ variable

如何在原始文件夹android中获取字符串文件名(我的音频文件)

备份多个文件夹(包括/不包括)

如何从超链接中提取某些字符串并在bash中创建具有相同字符串的文件夹?

仅压缩文件绝对路径中不包括文件夹的文件夹中的文件

列出与模式匹配的文件夹中的文件名,不包括文件内容