我经常在本网站上找到我的答案,但是在这种情况下我需要更多的个性化帮助。我希望有人能指出我正确的方向。文件年龄报告
我一直在试图从我的NAS系统中抽出一份报告来获得数据年龄和数据大小的统计数据,所以我可以尝试提供一个Charge Back/Show back解决方案。
我已经设法使用get-childitem主要使用Powershell,我甚至尝试使用[System.IO.Directory] :: EnumerateDirectories, 和其他命令进入.net。所有这些解决方案都能正常工作,但是我似乎获得这些信息的速度非常缓慢,尤其是当我将它与Jam TreeSize进行比较时,它可以很快地将这些信息完全保存下来。
要注意的是,我甚至尝试了PowerShell中的多线程,认为如果我可以从各个点收集数据,它会收集整个数据会更快,但我已经在很大程度上混合了结果。
我希望别人已经解决了这种类型的项目,并设法得到一个很好的快速(呃)这样做的方式。我甚至可以开放其他语言来解决这个问题。
快速笔记,我在PowerShell v5中这样做。我也开始学习一些python,所以如果有人有建议,它将是我学习的好地方。
编辑:
好的这里有一些例子。 时报: 的TreeSize需要10秒 Powershell的获取,ChildItem约需2分钟 Powershell的dotnet的行动大约需要2分钟
对象数计60个000物体,大小120GB。
带有递归的get-childitem将获得指定位置的所有文件对象,包括它们的属性,例如上次访问的时间和大小(以字节为单位)dotnet您需要使用EnumerateFiles等的组合,然后使用FileInfo获取给定位置的文件对象,然后分别检查它们的属性
就多线程而言,我会指出您使用的一些链接,这里添加的内容太多了,但我已尝试创建一个runspacepool ,但我也尝试手动运行两个单独的运行空间来比较结果,它们大致相同。为什么我沉迷于时代,而我上面使用的测试目录只有2分钟,我的NAS在一些卷上有数百万个文件。我所做的一项测试花了一个半小时才完成,如果我用其他卷做这个测试,那需要几个小时。我只是想找到速度接近的TreeSize
编辑:我已标记ROBOCOPY解决方法的答案,但如果你有不同的语言和程序的任何建议,请随时发表评论,这将是东西我将在未来展望
你可以发布你使用的代码,他们正在采取什么样的时间,你想获得什么信息? –
虽然这个话题可能很有趣,但问题太广泛了。 – LotPings
评论并不代表本网站查询不存在的信息。请编辑您的问题,以便跟进读者不需要阅读所有这些内容。 (我没有,我也不打算) – LotPings