有没有什么工具可以做到这一点?我正在使用 Total Commander 计算目录树中占用的空间,但我想将其限制为不超过一定天数的文件,但我不知道如何在 Total Commander 中做到这一点。有这样的工具吗?适用于 MS Windows。
答案1
两者都带有动态过滤器,可以按创建日期/修改日期等进行搜索。Foldersize 还带有图表和图形,以便于可视化。
两者都是付费选项。
否则,这里有一个 power shell 选项命令,列出两个设定日期之间的文件。
Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -ge "2016-09-01" -and $_.LastWriteTime -le "2016-09-30" -and !$_.PSIsContainer }
上述命令检查 2016 年 9 月期间修改的文件。
Get-ChildItem
列出给定文件夹中的文件/文件夹。-Recurse
递归列出所有文件。Where-Object
根据给定的条件过滤输出。LastWriteTime
检查在设定时间内修改的文件。CreationTime
如果您要检查文件创建日期,请使用。!$_.PSIsContainer
仅返回文件。!
反转文件夹的布尔值PSIsContainer
设置为 true。
答案2
正如 Xalorous 指出的那样,这取决于您的操作系统。对于 Windows,PowerShell 脚本可能会有所帮助。基于这个 Stackoverflow一个可能的解决方案是:
# Set the path
$path = "<Directory>"
# Get a date which was 14 days ago, this will be how old files can be
$limit = (Get-Date).AddDays(-14)
# List all files and folders, including hidden ones, and select those which are not folders and whose creation time is "bigger" than limit
$files = Get-ChildItem -Path $path -Recurse -Force -File | ?{$_.CreationTime -ge $limit }
$totalsize = 0
# build the sum of each files size
$files | %{$totalsize += $_.length}
echo ("Total size of all "+$files.length+" files is: "+$totalsize+" Bytes");
可能代替的其他属性CreationTime
可能是(例如)LastAccessTime
和LastWriteTime
。
答案3
我尝试寻找这个工具,结果发现了一个不错的工具列表http://www.howtogeek.com/113012/10-best-free-tools-to-analyze-hard-drive-space-on-your-windows-pc/, 也这个和这个。 我试过太空嗅探器因为这个可以按照日期过滤文件。效果很好。