如何使用 PowerShell 按日期对文件进行分组?

发布于 2024-08-26 19:37:24 字数 628 浏览 8 评论 0原文

我有一个包含 2000 多个文件的文件夹。我想按日期对文件进行计数。

所以:

  Mode                LastWriteTime     Length Name  
   ----                -------------     ------ ----  
   -a---        2010-03-15  12:54 AM   10364953 file1.txt  
   -a---        2010-03-15   1:07 AM   10650503 file2.txt  
   -a---        2010-03-16   1:20 AM   10118657 file3.txt  
   -a---        2010-03-16   1:33 AM    9735542 file4.txt  
   -a---        2010-03-18   1:46 AM   10666979 file5.txt  

我想看看:

Date         Count
----------   ------
2010-03-15   2  
2010-03-16   2  
2010-03-18   1

谢谢!

I have a folder with 2000+ files. I want to count the files by date.

so with:

  Mode                LastWriteTime     Length Name  
   ----                -------------     ------ ----  
   -a---        2010-03-15  12:54 AM   10364953 file1.txt  
   -a---        2010-03-15   1:07 AM   10650503 file2.txt  
   -a---        2010-03-16   1:20 AM   10118657 file3.txt  
   -a---        2010-03-16   1:33 AM    9735542 file4.txt  
   -a---        2010-03-18   1:46 AM   10666979 file5.txt  

I'd like to see:

Date         Count
----------   ------
2010-03-15   2  
2010-03-16   2  
2010-03-18   1

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情愿 2024-09-02 19:37:24

Group-Object 可以非常轻松地处理此类杂务:

Get-ChildItem | Group {$_.LastWriteTime.ToString("yyyy-MM-dd")} | Sort Name

如果您只想查看格式表上的日期和计数钉,如下所示:

Get-ChildItem | Group {$_.LastWriteTime.ToString("yyyy-MM-dd")} | Sort Name | 
    Format-Table Name,Count -auto

Group-Object can handle this sort of chore pretty easily:

Get-ChildItem | Group {$_.LastWriteTime.ToString("yyyy-MM-dd")} | Sort Name

If you only want to see the date and count tack on the Format-Table as shown below:

Get-ChildItem | Group {$_.LastWriteTime.ToString("yyyy-MM-dd")} | Sort Name | 
    Format-Table Name,Count -auto
孤独患者 2024-09-02 19:37:24

您可以使用哈希表来收集您需要的信息:

     $dict = New-Object -TypeName System.Collections.Hashtable
     Get-ChildrenItem * | Where-Object { $dict[$_.lastwritetime.date]++ }
     $dict

You can use a hash table to collect the information you need:

     $dict = New-Object -TypeName System.Collections.Hashtable
     Get-ChildrenItem * | Where-Object { $dict[$_.lastwritetime.date]++ }
     $dict
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文