我正在尝试获取有关我的驱动器上的文件的信息,就像上次访问它们一样。我可以让它回来。
Get-ChildItem | Group {$_.LastWriteTime.ToString("MM")} | Sort Name |
Format-Table Name,Count -auto
Name Count
---- -----
05 2
07 8
10 3
11 2
但我正在寻找:
Age in Months Storage Space Used (MB)
0 100 MB
1 120 MB
2 50 MB
3 20 MB
4 10 MB
5 5 MB
有人可以帮忙吗?
答案 0 :(得分:1)
是否要对文件创建时间与现在之间的月数进行分组,而不是创建月份的组?如果是这样,那么使用New-Timespan
应该可以做到这一点,如下所示:
ls -File | % {
New-Object psobject -Property @{
Age = [int]((New-TimeSpan -Start $_.LastWriteTime).Days / 31)
Size = ($_.Length)
}
} | Group-Object Age | Select @{
Name = 'Age in Months'
Expression = {[int]($_.Name)}},
@{Name ='Storage Size Used (MB)'
Expression = {[int](($_.Group.Size | Measure-Object -Sum).Sum / 1MB)}
} | sort 'Age in Months'
答案 1 :(得分:0)
我认为这可能会实现您的目标。不确定它是否是最干净的方式,但我还在学习自己。
get-childitem | Select-Object Name, @{
Name = "Age in Months" ;
e = {[int](((Get-date) - ($_.lastwritetime)).days/30)}
} ,
@{
Name="Storage Spaced Used (MB)" ;
e = {[math]::Round($_.Length / 1MB, 2 )}
} |
Sort-Object -property "Age in months"
答案 2 :(得分:0)
以下脚本分组由yyyy-MM
组成,并使用Function Get-FriendlySize
## https://stackoverflow.com/q/50535131/6811411
function Get-FriendlySize {
param($Bytes)
$sizes='Bytes,KB,MB,GB,TB,PB,EB,ZB' -split ','
for($i=0; ($Bytes -ge 1kb) -and
($i -lt $sizes.Count); $i++) {$Bytes/=1kb}
$N=2; if($i -eq 0) {$N=0}
"{0,6:N$($N)} {1}" -f $Bytes, $sizes[$i]
}
Get-ChildItem | Group {$_.LastWriteTime.ToString("yyyy-MM")}| Sort Name -Desc|ForEach {
[pscustomobject]@{
'FileAge' = $_.Name
'Space Used'= (Get-FriendlySize (($_.Group|measure Length -sum).sum) )
}
}
示例输出(带逗号的德语区域设置)
FileAge Space Used
------- ----------
2018-05 364 Bytes
2017-08 18,12 KB
2017-07 10,30 KB
2017-06 52,44 KB
2017-05 1,77 KB
2017-04 606 Bytes
2017-03 24,85 KB
2017-02 8,45 KB
2017-01 14,54 KB
2016-12 27,22 KB
2016-11 160,85 KB
2016-10 1,33 MB
2016-09 338,42 KB
2016-08 1,76 MB
答案 3 :(得分:0)
您可以使用PowerShellHumanizer模块。它添加了自定义的FileSystem表格式,因此您将看到:
PS C:\> Get-ChildItem
Directory: C:\Program Files\7-Zip
Mode LastWritten Length Name
---- ----------- ------ ----
da---- 9 months ago Lang
-a---- one year ago 93 KB 7-zip.chm
-a---- one year ago 79 KB 7-zip.dll
-a---- one year ago 49 KB 7-zip32.dll
-a---- one year ago 1 MB 7z.dll
-a---- one year ago 414 KB 7z.exe
-a---- one year ago 178 KB 7z.sfx
-a---- one year ago 163 KB 7zCon.sfx
-a---- one year ago 784 KB 7zFM.exe
-a---- one year ago 533 KB 7zG.exe
-a---- 4 years ago 366 B descript.ion
-a---- one year ago 40 KB History.txt
-a---- one year ago 2 KB License.txt
-a---- one year ago 2 KB readme.txt